FastJson對于json格式字符串的解析主要用到了下面三個類:
1.JSON:fastJson的解析器蕉堰,用于JSON格式字符串與JSON對象及javaBean之間的轉(zhuǎn)換
2.JSONObject:fastJson提供的json對象
3.JSONArray:fastJson提供json數(shù)組對象
1、字符串與json互轉(zhuǎn)悲龟;
? 1.字符串轉(zhuǎn)json
JsonObject jobj=JSON.parseObject(String); //jsonobject
JsonArray jarra=JSON.parseArray(String); //jsonarray
? 2.json/jsonarray轉(zhuǎn)字符串
方式一:jsonobj.toJSONString(); //直接使用json自身對象轉(zhuǎn)
方式二:JSON.toJSONString(jsonobj); //使用JSON解析轉(zhuǎn)
N菅取!注意字符串必須是json格式的字符串须教,不是簡單的對象tostring就可以的皿渗。否則會報語法錯誤。
2轻腺、list與jsonarray互轉(zhuǎn)乐疆;
? 1.list轉(zhuǎn)jsonarray
a、JSONArray? jsary=(JSONArray)JSON.toJSON(list<?>);//強轉(zhuǎn)形式
b贬养、JSONArray ja = JSON.parseArray(JSON.toJSONString(itemList));//先轉(zhuǎn)json字符串再轉(zhuǎn)json
? 2)jsonarray轉(zhuǎn)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互轉(zhuǎn)
? 1)map轉(zhuǎn)Json
a仰美、JsonObject json=JSON.parseObject(JSON.toJsonString(itemMap)); //先轉(zhuǎn)json字符串再轉(zhuǎn)json
b、JsonObject? json=(JsonObject)JSON.toJSON(itemMap); //強轉(zhuǎn)形式
? 2)json轉(zhuǎn)map
a尉桩、Map<String, Object> maps= JSON.parseObject(str,Map.class);
b筒占、Map<String, Object> maps= JSON.parseObject(jsonString);
4、javabean與jsonobject蜘犁、jsonarray互轉(zhuǎn)
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>>>(){});