java json的序列化和反序列化

时间:2025-03-27 10:31:18

1、json字符串反序列化

(1)获取字符串

/**
     * 读取json文件,返回json串
     * @param fileName
     * @return
     */
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);
            Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
        } catch (IOException e) {
            log.error(e.getMessage());
        }
        return jsonStr;
    }

(2)反序列化

添加依赖

<dependency>
	<groupId></groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.47</version>
 </dependency>

代码

import com.alibaba.fastjson.JSONObject;

Evaluation evaluation = JSONObject.parseObject(jsonStr, Evaluation.class);

Evaluation是自定义的对象

2、java对象序列化为json字符串

//obj是一个Object
import com.alibaba.fastjson.JSON;
String jsonString = JSON.toJSONString(obj);

相关文章