Json和java中数据类型互转

fastJson
W3C fastJson API
https://www.w3cschool.cn/fastjson/fastjson-ex2.html

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.56</version>
    </dependency>

Java对象转json字符串
String objStr=JSON.toJSONString(obj)

json字符串转java对象
JSON.parseObject(obj,Obj.class)

java的list转json字符串
String json = JSONArray.toJSONString(list);

json字符串转java list
List list=JSONObject.parseArray(jsonStr, beanClass);

java的map转json字符串
String mapJson = JSONArray.toJSONString(map);

json map转java map
Map map1 = JSON.parseObject(json);
for (Object o : map.entrySet()) {
Map.Entry<String,String> entry = (Map.Entry<String,String>)o;
System.out.println(entry.getKey()+"—>"+entry.getValue());
}

下面的示例来自W3C,编写的很详细,有用例还有输出。

public static void json2List(){ 
		//List -> JSON array 
		List<Bar> barList = new ArrayList<Bar>(); 
		barList.add(new Bar()); 
		barList.add(new Bar()); 
		barList.add(new Bar()); 
		String json= JSON.toJSONString(barList, true); 
		System.out.println(json); 
		//JSON array -> List 
		List<Bar> barList1 = JSON.parseArray(json,Bar.class); 
		for (Bar bar : barList1) { 
			System.out.println(bar.toString()); 
		} 
	} 
public static void map2JSON(){ 
		Map map = new HashMap(); 
		map.put("a","aaa"); 
		map.put("b","bbb"); 
		map.put("c","ccc"); 
		String json=JSON.toJSONString(map); 
		System.out.println(json); 
		Map map1 = JSON.parseObject(json); 
		for (Object o : map.entrySet()) { 
			Map.Entry<String,String> entry = (Map.Entry<String,String>)o; 
			System.out.println(entry.getKey()+"--->"+entry.getValue()); 
		} 
	} 
	public static void json2Map(){ 
		//Map -> JSON 
		Map<String,Bar> map = new HashMap<String, Bar>(); 
		map.put("a",new Bar()); 
		map.put("b",new Bar()); 
		map.put("c",new Bar()); 
		String json = JSON.toJSONString(map,true); 
		System.out.println(json); 
		//JSON -> Map 
		Map<String,Bar> map1 = (Map<String,Bar>)JSON.parse(json); 
		for (String key : map1.keySet()) { 
			System.out.println(key+":"+map1.get(key)); 
		} 
	} 

	public static void array2JSON(){ 
		String[] arr_String    = {"a","b","c"}; 
		String json_arr_String = JSON.toJSONString(arr_String,true); 
		System.out.println(json_arr_String); 
		JSONArray jsonArray = JSON.parseArray(json_arr_String); 
		for (Object o : jsonArray) { 
			System.out.println(o); 
		} 
		System.out.println(jsonArray); 
	} 
	public static void array2JSON2(){ 
		Bar[] arr_Bar    = {new Bar(),new Bar(),new Bar()}; 
		String json_arr_Bar = JSON.toJSONString(arr_Bar,true); 
		System.out.println(json_arr_Bar); 
		JSONArray jsonArray = JSON.parseArray(json_arr_Bar); 
		for (Object o : jsonArray) { 
			System.out.println(o); 
		} 
		System.out.println(jsonArray); 
	} 

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值