JSON字符串转换为Map
本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下:
package ltd.u3uyoo.nutrition.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
* JSON字符串自动转换
* Created by wyd on 2021/8/5.
*/
public class JsonToMapTest01 {
public static void main(String[] args){
String str = "{\"0\":\"Jack\",\"1\":\"Paul\",\"2\":\"James\",\"3\":\"Kevin\"}";
//第一种方式
Map maps = (Map)JSON.parse(str);
System.out.println("第一种方式 这个是用JSON类来解析JSON字符串!!!");
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
//第二种方式
Map mapTypes = JSON.parseObject(str);
System.out.println("第二种方式 这个是用JSON类的parseObject来解析JSON字符串!!!");
for (Object obj : mapTypes.keySet()){
System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
}
//第三种方式
Map mapType = JSON.parseObject(str,Map.class);
System.out.println("第三种方式 这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
for (Object obj : mapType.keySet()){
System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
}
//第四种方式
/**
* JSONObject是Map接口的一个实现类
*/
Map json = (Map) JSONObject.parse(str);
System.out.println("第四种方式 这个是用JSONObject类的parse方法来解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第五种方式
/**
* JSONObject是Map接口的一个实现类
*/
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("第五种方式 这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第六种方式
/**
* JSONObject是Map接口的一个实现类
*/
Map mapObj = JSONObject.parseObject(str,Map.class);
System.out.println("第六种方式 这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
for (Object map: json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
String strArr = "{{\"0\":\"Jack\",\"1\":\"Paul\",\"2\":\"James\",\"3\":\"Kevin\"}," +
"{\"00\":\"Jack\",\"11\":\"Paul\",\"22\":\"James\",\"33\":\"Kevin\"}}";
// JSONArray.parse()
System.out.println(json);
}
}
总结
JSON实际上是实现Map接口的子类,因此开发中要传入的参数是java.util.Map格式的实例,可以直接传JSONObject对象
推荐一下个人的公众号:
【注】在微信里搜索“满目山河m”或者微信扫描二维码都可以关注微信公众号。