代码改变世界

Json字符串转map集合

2019-04-16 23:45  话猫  阅读(8394)  评论(0编辑  收藏  举报

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