1. Map 转Json String
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
import com.google.gson.Gson;
Map<String,Integer> indicatorDetails = new HashMap<>();
Gson gson = new Gson();
String jsonStr = gson.toJson(indicatorDetails);
2.获取Json path数据
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.2.0</version>
</dependency>
import com.jayway.jsonpath.JsonPath;
List<Object> arrays = JsonPath.read(infoList, "infolist")
3 、jsonString 转Map
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
</dependency>
import net.sf.json.JSONObject;
public static Map<String, Object> getJson(String jsonString){
JSONObject jsonObject = JSONObject.fromObject(jsonString);
Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);
return mapJson;
}
注意已[]开头结尾的 jsonarray, 需要先转为为 Jsonarray
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
JSONArray paramList = JSON.parseArray(paramjson);
String paramsString = paramList.get(0).toString();
4、Json String 获取所有key
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
</dependency>
public static Map<String,Object> getAllJson(String jsonString){
JSONObject jsonObject = JSONObject.fromObject(jsonString);
Map<String, Object> allJsonMap = JSONObject.fromObject(jsonObject);
Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);
for(Map.Entry<String, Object> mapJsonEntey: mapJson.entrySet()){
if(mapJsonEntey.getValue() instanceof String){
allJsonMap.put(mapJsonEntey.getKey(), mapJsonEntey.getValue().toString());
}else if(mapJsonEntey.getValue() instanceof JSONObject){
allJsonMap.putAll(getAllJson(((JSONObject) mapJsonEntey.getValue()).toString()));
}
}
return allJsonMap;
}
5、 JsonString 反序列化
第一种方法 gson
Gson gson = new Gson();
RecomExplanationReqEntity recomExplanationReqEntity = gson.fromJson(request,RecomExplanationReqEntity.class)
第二种方法 fastjson
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
RecomExplanationReqEntity recomExplanationReqEntity1 = JSON.parseObject(recomExplaString,RecomExplanationReqEntity.class);