FastJson学习整理

2019-05-17  本文已影响0人  达文西_阿泽

FastJson对于json格式字符串的解析主要用到了下面三个类:

1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换

2.JSONObject:fastJson提供的json对象

3.JSONArray:fastJson提供json数组对象


1、字符串与json互转;

  1.字符串转json

JsonObject jobj=JSON.parseObject(String); //jsonobject

JsonArray jarra=JSON.parseArray(String); //jsonarray

  2.json/jsonarray转字符串

方式一:jsonobj.toJSONString(); //直接使用json自身对象转

方式二:JSON.toJSONString(jsonobj); //使用JSON解析转

!!注意字符串必须是json格式的字符串,不是简单的对象tostring就可以的。否则会报语法错误。


2、list与jsonarray互转;

  1.list转jsonarray

a、JSONArray  jsary=(JSONArray)JSON.toJSON(list<?>);//强转形式

b、JSONArray ja = JSON.parseArray(JSON.toJSONString(itemList));//先转json字符串再转json

  2)jsonarray转list

a、List<String> listPerson =JSON.parseArray(jsonString, String.class);

b、 ArrayList<String> students = JSONArray.parseObject(jsonArray.toJSONString(),

            new TypeReference<ArrayList<String>>() {});


3、map与JsonObject互转

  1)map转Json

a、JsonObject json=JSON.parseObject(JSON.toJsonString(itemMap)); //先转json字符串再转json

b、JsonObject  json=(JsonObject)JSON.toJSON(itemMap); //强转形式

  2)json转map

a、Map<String, Object> maps= JSON.parseObject(str,Map.class);

b、Map<String, Object> maps= JSON.parseObject(jsonString);


4、javabean与jsonobject、jsonarray互转

JavaBean: Person person = JSON.parseObject(jsonString, Person.class);

List<JavaBean>:  List<Person> listPerson =JSON.parseArray(jsonString, Person.class);

List<String>:  List<String> listString = JSON.parseArray(jsonString, String.class);

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

详细可参考该文档:https://segmentfault.com/a/1190000011212806

上一篇下一篇

猜你喜欢

热点阅读