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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值