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;
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/luckytjx/article/details/48097975