package com.fastjson.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
/**
* fastjson类库的简单使用.
* 应用:前台有一个json字符串,此json字符串是由包含List的Map转换的json字符串,传到后台后,
* 现需要将其作为一个元素放入map,然后再将map转换为json字符串推,并通过第三方接口推送给客户端,
* 推送的时候提示json格式错误,究其原因:原来需要将前台传过来的json字符串parse成对象后,再作为
* 一个元素放入map,然后再将map转换为json字符串,最后通过第三方接口推送给客户端,success!
* @author IluckySi
* @since 20141209
*/
public class FastJsonUtilTest {
public static void main(String[] args) {
//将包含List的Map转换的json字符串.
Map<Object, Object> map1 = new HashMap<Object, Object>();
List<Object> list1 = new ArrayList<Object>();
list1.add("le1");
list1.add("le2");
map1.put("m1e1", list1);
map1.put("m1e2", "m1e2");
map1.put("m1e3", "m1e3");
String map1Json = JSON.toJSONString(map1);
System.out.println("将包含List的Map转换的json字符串:" + map1Json);
//包含List的Map转换为json字符串作为元素的map转换为json字符串.
Map<Object, Object> map2 = new HashMap<Object, Object>();
map2.put("m2e1", map1Json);
map2.put("m2e2", "m2e2");
map2.put("m2e3", "m2e3");
String map2Json = JSON.toJSONString(map2);
System.out.println("将(包含List的Map转换的)json字符串作为元素的map转换为json字符串:" + map2Json);
//将(包含List的Map转换的json字符串,继而又将这个字符串转换回)map作为元素的map转换为json字符串.
Map<Object, Object> map3 = new HashMap<Object, Object>();
map3.put("m3e1", JSON.parse(map1Json));
map3.put("m3e2", "m3e2");
map3.put("m3e3", "m3e3");
String map3Json = JSON.toJSONString(map3);
System.out.println("将(包含List的Map转换的json字符串,继而又将这个字符串转换回)map作为元素的map转换为json字符串:" + map3Json);
}
}
/**
输出结果:
将包含List的Map转换的json字符串:{"m1e1":["le1","le2"],"m1e2":"m1e2","m1e3":"m1e3"}
将(包含List的Map转换的)json字符串作为元素的map转换为json字符串:{"m2e1":"{\"m1e1\":[\"le1\",\"le2\"],\"m1e2\":\"m1e2\",\"m1e3\":\"m1e3\"}","m2e2":"m2e2","m2e3":"m2e3"}
将(包含List的Map转换的json字符串,继而又将这个字符串转换回)map作为元素的map转换为json字符串:{"m3e1":{"m1e1":["le1","le2"],"m1e2":"m1e2","m1e3":"m1e3"},"m3e2":"m3e2","m3e3":"m3e3"}
*/
alibaba fastjson的简单使用!
最新推荐文章于 2024-02-27 21:26:08 发布