欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

fastjson 中的列表、地图、实体对象相互转换 [强烈推荐

最编程 2024-06-29 08:24:20
...

fastjson中list,map,实体对象互相转换【强烈推荐】

【依赖】
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

###########################################################

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;
import java.util.Map;

public class FastJsonDemo {
    public static void main(String[] args) {

        // 总结
        // map对象,list对象,或实体对象转JSONString //JSON.toJSONString(对象)
        // JSONString转map //JSON.parseObject(JSONString, Map.class)
        // JSONString转实体对象 //JSON.parseObject(JSONString, 对象.class)
        // JSONString转list<实体对象> //JSON.parseArray(JSONString, 对象.class),
        // //当里面是Object的时候还是用JSON.parseObject(JSON.toJSONString(o1), (Type)
        // Object.class)
        // map转对象或者是对象转map先转换成JSONString,再按照上面方法转
        // 扩展
        // JSONArray和JSONObject先转换成JSONString,再按照上面方法转,记住JSONString是中转

        /**
         * JSON操作
         */
        // map对象,list对象,或实体对象转JSONString
        String json = JSON.toJSONString(new Object());


        //json字符串转map对象");
        Map map = JSON.parseObject(json, Map.class);
        //【map转json字符串】" + JSON.toJSONString(map));


        //json字符串转对象");
        Object o = JSON.parseObject(json, Object.class);
        //【对象转json字符串】" + JSON.toJSONString(person));


        //json字符串转list");
        List<Object> personList = JSON.parseArray(json, Object.class);
        //【list转json字符串】" + JSON.toJSONString(personList));


        //map转对象");
        Object o1 = JSON.parseObject(JSON.toJSONString(map), Object.class);
        //对象转map");
        Map map1 = JSON.parseObject(JSON.toJSONString(o1), Map.class);


        /**
         * JSONObject操作
         */
        //JSONObject操作-从中取值
        String jsonString = "";
        JSONObject object = JSONObject.parseObject(jsonString);
        //取单个字段
        String str1 = object.getString("str1");
        //取对象
        JSONObject jsonObject = object.getJSONObject("data");
        //object中取数组
        JSONArray jsonArray = jsonObject.getJSONArray("arr");
        //jsonArray遍历,里面的每个对象再强转成JSONObject
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject object1 = jsonArray.getJSONObject(i);
            //里面再获取所需要的单个对象
            String str2 = object1.getString("str2");
        }


       //JSONObject操作-封装成JSONObject
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("aa", "11");
        jsonObject1.put("bb", "22");

        JSONObject object1 = JSON.parseObject("json字符串");
        JSONArray array = object1.getJSONArray("arrKey");
        for (int i = 0; i < array.size(); i++) {
            JSONObject js= array.getJSONObject(i);
            String username = js.get("aa") == null ? "" : js.getString("aa");
        }

    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者