FastJson学习整理
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>>>(){});