第一步:在pom.xml中添加依賴;
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
第二步:編寫測試代碼;
import java.util.Map;
import com.alibaba.fastjson.JSON;
public class Demo1 {
public static void main(String[] args) {
String str = "{\"id\":11,\"status\":\"Analyze\",\"severity\":\"Review\"}";
Map<String,Object> mapType = JSON.parseObject(str,Map.class);
for (Object obj : mapType.keySet()){
System.out.println(obj+" = "+mapType.get(obj));
}
}
}
public static void main(String[] args) {
String str = "{\"id\":11,\"status\":\"Analyze\",\"severity\":\"Review\"}";
Map<String,Object> mapType = JSON.parseObject(str,Map.class);
for (Object obj : mapType.keySet()){
System.out.println(obj+" = "+mapType.get(obj));
}
}
}
第三步:查看運行結果;
第四步:若有報錯:例如:
com.alibaba.fastjson.JSONException: not close json text, token : : at com.alibaba.fastjson.parser.DefaultJSONParser.close(DefaultJSONParser.java:1115) at com.alibaba.fastjson.JSON.parse(JSON.java:93) at com.alibaba.fastjson.JSON.parse(JSON.java:80) at com.alibaba.fastjson.JSON.parseObject(JSON.java:151) 。。。。。。
原因是在字符串轉JSON對象時,截取JSON字符串去掉了右大括號,導致轉換成JSON對象不完整報錯
解決辦法是:在截取JSON字符串時,需要添加判斷,如果字符串開始和結束字符含有引號,才讓截取;否則不截取