例子:從JSON遇到問題提取值
{"name":"tv.twitch:twitch:5.16"}
{"name":"tv.twitch:twitch-external-platform:4.5","extract":{"exclude":["META-INF/"]},"natives":{"windows":"natives-windows-${arch}"},"rules":[{"os":{"name":"windows"},"action":"allow"}]}
這些線路從JSONArray來了,我想提取「土人」部分。問題是,並不是JSONArray中的所有項都具有「本地」值。這裏是我當前的代碼來提取「名稱」值
JSONObject json = new JSONObject(readUrl(url.toString()));
JSONArray jsonArray = json.getJSONArray("libraries");
ArrayList<String> libraries = new ArrayList<String>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject next = jsonArray.getJSONObject(i);
String lib = next.getString("name");
libraries.add(lib);
}
我不完全相信這個,因爲我是新來的Java/JSON解析,但會在數組中的對象沒有「土人」的價值導致程序結束?
如果您使用'json.org'類; 'JSONObject'有一個'has(String)'方法來判斷一個鍵是否存在。 – qqilihq
我需要「姓名」,「本地人」,在這種情況下,「windows」 – ReidandKat
只需使用'try-catch'塊即可獲得「本地人」價值。 – nikis