Json字符串转map集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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));
}
}
}
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字符串时,需要添加判断,如果字符串开始和结束字符含有引号,才让截取;否则不截取
以上是关于Json字符串转map集合的主要内容,如果未能解决你的问题,请参考以下文章