码迷,mamicode.com
首页 > Web开发 > 详细

FastJson的使用

时间:2015-08-30 06:35:43      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:fastjson   fastjson生成和解析   

fastjson生成和解析json数据

一、fastjson生成json数据

String jsonStrng = JSON.toJSONString(object);    

二、 fastjson 解析json字符串

1. JavaBean
User user = JSON.parseObject(jsonString, User.class);
2. List<JavaBean>
List<User> listPerson =JSON.parseArray(jsonString, User.class);
3. List<String>
List<String> listString = JSON.parseArray(jsonString, String.class);
4. List<Map<String,Object>>
List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});

三、拓展

1)fastjson生成json数据时,导出空数据。

String jsonStr=JSON.toJSONString(userList,SerializerFeature.WriteMapNullValue);

2)fastjson解析json数据时需要将值为null的key也可以解析出来,就要用到fastjson的反射了。

List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});


下面的是测试代码,仅供参考。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature;
 


public class Test {

	public static void main(String[] args){
		List<Map<String,Object>> userList  =getUserList();
		String jsonStr=JSON.toJSONString(userList,features);
		System.out.println(jsonStr);
		List<Map<String, Object>> listMap = JSON.parseObject(jsonStr, new TypeReference<List<Map<String,Object>>>(){});
		
		for(Map<String, Object> map:listMap){
			System.out.println(JSON.toJSONString(map,features));
		}
		 
	}
	
	
	public static SerializerFeature[] features=new SerializerFeature[]{
		SerializerFeature.WriteMapNullValue,
		SerializerFeature.WriteNullBooleanAsFalse,
		SerializerFeature.WriteNullListAsEmpty,
		SerializerFeature.WriteNullStringAsEmpty,
		SerializerFeature.WriteDateUseDateFormat
	};
	public static List<Map<String,Object>> getUserList(){
		List<Map<String,Object>> newList=new ArrayList<Map<String,Object>>();
		
		for(int i=0;i<5;i++){
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("id", i);
			map.put("username","xxx"+i);
			map.put("sex","男"+i);
			map.put("age",null);
			map.put("dh",null);
			map.put("zz","ZZ"+i);
			newList.add(map);
		}
		return newList;
	}
	
}









版权声明:本文为博主原创文章,未经博主允许不得转载。

FastJson的使用

标签:fastjson   fastjson生成和解析   

原文地址:http://blog.csdn.net/luckytjx/article/details/48097975

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!