最近在開發某個功能的過程中,需要呼叫乙個第三方的介面。我檢視某個接文件中請求引數示例時候,有點hold不住了,這這麼也太複雜了。
震驚之餘還是得繼續工作,然後我剛寫了幾行**,就已經重建了三個jsonobject和乙個jsonarray物件,屬實有點複雜過頭了。
此時靈光乍現,突然想起之前學到的在map初始化賦值的技能,可以在建立map實現類物件的時候直接賦值。具體實現如下:
hashmapmap = new hashmap() };
這裡雖然省不了幾行**,但是能少很多物件名的出現,而且這裡會出現縮排,更便於可讀性(這一點純屬個人看法,問了粉絲,有說原來的可讀性更好)。
其實j**a很多集合類都可以這麼寫,下面展示乙個比較複雜的jsonobject初始化賦值和常用語法的對比。
jsonobject funtester = new jsonobject();
funtester.put("class", 23);
arraylisttid = new arraylist<>();
arraylistsid = new arraylist<>();
tid.add(32312);
tid.add(12312);
funtester.put("teacher", tid);
sid.add(32312);
sid.add(12312);
funtester.put("student", sid);
jsonobject data = new jsonobject();
data.put("max", 123);
data.put("**g", 100);
arraylistscores = new arraylist<>();
scores.add(123);
scores.add(77);
data.put("scores", scores);
funtester.put("data", data);
jsonobject funtester = new jsonobject() });
put("students", new arraylist() });
put("data", new jsonobject() })
}});
}};
所以我的封裝方法變成了這個結構:
public void sendrtf(string title, string content, string url, string uid) });
if (stringutils.isnotblank(url)) });
}if (stringutils.isnotblank(uid)) });
}}});
}});
}});
}});
}});
}});
}
圖形展示:
Json基本語法
json物件.鍵名 json物件 鍵名 陣列物件 索引 遍歷 1.定義基本格式 var person 獲取name的值 var name person.name alert name var name1 person name alert name1 2.巢狀格式 var persons var n...
前台使用複雜json
當我們需要一次向後台傳入多個資料和乙個list物件的時候,顯然用fromb表單是很不方便的.比如要傳入一下的資料 乙個list var customerarray new array customerarray.push customerarray.push list和幾個其他的物件 exportd...
複雜json的解析
最近看了乙個大佬的複雜json解析感覺超有收穫 大佬的部落格 我的目的是把text所對應的值解析出來 我試了各種辦法 根據這個json格式來寫幾個類對應json同意層級的值 編譯以後可以正確獲取text所對應的資訊 第二種 直接使用大佬的思路 我是真的蠢,大佬牛皮 json實際上也是鍵值對 key ...