微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

alibaba fastjson的简单使用!

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","m1e3":"m1e3"},"m3e2":"m3e2","m3e3":"m3e3"}
*/

原文地址:https://www.jb51.cc/json/289957.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐