Json字符串转map集合

第一步:在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)); 
        } 
 }
}

第三步:查看运行结果;

第四步:若有报错:例如:

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字符串时,需要添加判断,如果字符串开始和结束字符含有引号,才让截取;否则不截取

原文地址:https://www.cnblogs.com/chcha1/p/10720992.html