首先在maven中添加阿里的fastjson依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
1.String转JSONObject
格式:JSONObject parseObject(String text)
其中:text为JSONObject格式的字符串,如:{"k1":"v1","k2":"v2"}
String s1 = "{\"datasetId\":602,\"cfg\":\"\"}"; JSONObject jsonObject = JSONObject.parseObject(s1);
2.String转JSONArray
格式:JSONArray parseArray(String text)
其中:text为JSONArray格式的字符串,如:[{"k1":"v1","k2":"v2"},{"k3":"v3"}]
String s2 = "[{\"column\":\"amount\",\"aggType\":\"sum\"}]"; JSONArray jsonArray = JSONArray.parseArray(s2);
3.JSONObject中的数据提取为JSONArray
格式:JSONArray getJSONArray(String key)
其中:key为JSONObject对象中的某个key,且对应的value应是JSONArray格式的,如:{"k1":[{"k2":"v2"},{"k3":"v3"}]}
String s3 = "{\"datasetId\":602,\"values\":[{\"column\":\"amount\",\"aggType\":\"sum\"}]}"; JSONObject jsonObject3 = JSONObject.parseObject(s3); JSONArray jsonArray3 = jsonObject3.getJSONArray("values");
4.JSONArray提取为JSONObject
格式:JSONObject getJSONObject(int index)
其中:getJSONObject的对象为array类型,index为数组下标
String s4 = "[{\"columnName\":\"assets_group\",\"filterType\":\"≠\",\"values\":[\"苹果\"]},{\"columnName\":\"audit_date\",\"filterType\":\"[a,b]\",\"values\":[\"2020-03-15\",\"2020-04-15\"]},null]"; JSONArray jsonArray4 = JSONArray.parseArray(s4); JSONObject jsonObject4 = jsonArray4.getJSONObject(0);
5.JSONObject获取value
格式:Object get(Object key)
jsonObject.get("datasetId")
6.Map转JSONstring
直接返回map其实就是json格式
JSONUtils.toJSONString(map);
7.JSON转实体类
格式:JSON.parseObject(string,A.class)
DatasourceConfig datasourceConfig = JSON.parseObject(config, DatasourceConfig.class);
8.实体类转JSON
JSONObject.toJSONString(object)
参考:https://www.cnblogs.com/ljangle/p/11047111.html