JAva jsonデータの再帰遍歴およびその他の処理
4445 ワード
一、jsonデータの再帰遍歴
二、jsonデータの再帰回転map
テスト
三、FastJsonアリのオープンソースフレームワーク
特徴:
1.FastJsonは数度が速く、シーケンス化と逆シーケンス化にかかわらず、恥じないfast 2である.強力な機能(通常のJDKクラスをサポートするJava Bean Class、Collection、Map、Dateまたはenumを含む)3.ゼロ依存(他のクラスライブラリに依存しない)
FastJsonのjson形式文字列の解析には主に次の3つのクラスが用いられる.JSON:fastJsonの解析器で、JSON形式文字列とJSONオブジェクトおよびjavaBeanとの間の変換に使用する.JSONObject:fastJsonが提供するjsonオブジェクト3.JSOnArray:fastJsonはjson配列オブジェクトを提供する
使用方法は、他の記事などを参照してください.https://blog.csdn.net/flysun3344/article/details/54707965
https://segmentfault.com/a/1190000011212806
/** 、
* JSON 。
* @param objJson
*/
public static void analysisJson(Object objJson){
HashMap map = new HashMap<>();
// obj json
if(objJson instanceof JSONArray){
JSONArray objArray = (JSONArray)objJson;
for (int i = 0; i < objArray.size(); i++) {
analysisJson(objArray.get(i));
}
}
// json
else if(objJson instanceof JSONObject){
JSONObject jsonObject = (JSONObject)objJson;
Iterator it = jsonObject.keys();
while(it.hasNext()){
String key = it.next().toString();
Object object = jsonObject.get(key);
//
if(object instanceof JSONArray){
JSONArray objArray = (JSONArray)object;
analysisJson(objArray);
}
// key json
else if(object instanceof JSONObject){
analysisJson((JSONObject)object);
}
// key
else{
System.out.println("["+key+"]:"+object.toString()+" ");
}
}
}
}
二、jsonデータの再帰回転map
/** 、
* JSON 。
* @param JsonToMap
* @return Map
*/
public static Map IteratorHash(net.sf.json.JSONObject JsonToMap){
Iterator> it = JsonToMap.keys();
HashMap RMap = new HashMap();
while(it.hasNext()){
String key = String.valueOf(it.next());
if(JsonToMap.get(key).getClass() == net.sf.json.JSONArray.class){//
if(JsonToMap.getJSONArray(key).isEmpty()){//
RMap.put(key,null);
}else{
List
テスト
public static void main(String[] args) {
String jsonStr = "{"
+ "\"list1\":"
+ "[{"
+ "\"name\":\"daniel\","
+ "\"age\":\"20\""
+"},"
+ "{"
+"\"name\":\"alisa\","
+"\"age\":\"18\""
+"}],"
+ "\"list2\":"
+ "[{"
+ "\"name\":\"tom\","
+ "\"age\":\"22\""
+"},"
+ "{"
+"\"name\":\"ysabell\","
+"\"age\":\"23\""
+"}],"
+ "\"hello\": \"java \""
+ "}";
JSONObject objJson = JSONObject.fromObject(jsonStr);
/* 、*/
// JsonTest.analysisJson(objJson);
/* 、*/
// System.out.println(JsonTest.IteratorHash(objJson));
/* 、 FastJson */
Map maps = (Map)JSON.parse(jsonStr);
System.out.println(maps);
}
三、FastJsonアリのオープンソースフレームワーク
com.alibaba
fastjson
1.2.52
特徴:
1.FastJsonは数度が速く、シーケンス化と逆シーケンス化にかかわらず、恥じないfast 2である.強力な機能(通常のJDKクラスをサポートするJava Bean Class、Collection、Map、Dateまたはenumを含む)3.ゼロ依存(他のクラスライブラリに依存しない)
FastJsonのjson形式文字列の解析には主に次の3つのクラスが用いられる.JSON:fastJsonの解析器で、JSON形式文字列とJSONオブジェクトおよびjavaBeanとの間の変換に使用する.JSONObject:fastJsonが提供するjsonオブジェクト3.JSOnArray:fastJsonはjson配列オブジェクトを提供する
使用方法は、他の記事などを参照してください.https://blog.csdn.net/flysun3344/article/details/54707965
https://segmentfault.com/a/1190000011212806