0
JSON很容易使用,但是有時候寫多個子元素會給在Java中反覆寫入getJSONObject(「」)帶來痛苦。有沒有簡單的方法可以避免重複呼叫並讓代碼更乾淨?閱讀JSON元素的Java方法
JSON很容易使用,但是有時候寫多個子元素會給在Java中反覆寫入getJSONObject(「」)帶來痛苦。有沒有簡單的方法可以避免重複呼叫並讓代碼更乾淨?閱讀JSON元素的Java方法
嘗試多輪後,我想出了下面的方法,你只是通過JSON對象和所有具有「/」的元素到下面的Java方法,它會讀取JSON值。注 - 此代碼更適用於字符串值,您可以根據自己的需求更多地進行自定義。
public static String getJSONTagValue(JSONObject partData, String xpath) {
String output="";
String[] getPrmString=xpath.split("/");
try {
if (partData.has(getPrmString[0])){
for (int i=0;i<getPrmString.length;i++){
if (partData.has(getPrmString[i]) && i!=getPrmString.length-1){
partData=partData.getJSONObject(getPrmString[i]);
} else if (partData.has(getPrmString[i])) {
output=partData.get(getPrmString[i])+"";
if (output.contains("xsi:nil")){
output="";
} else if (output.contains(".0")){
output=output.replace(".0", "");
}
}
}
}
if ("".equalsIgnoreCase(output)){
System.out.println("Missing xpath in Response ",xpath);
}
} catch (JSONException e) {
System.out.println("Missing xpath in Response ",xpath)
e.printStackTrace();
}
return output;
}
將JSON解析爲列表和地圖,然後訪問該結構。這很簡單。 –
@HotLicks我有我的JSON不會總是有相同的元素,與列表和地圖索引將依賴項。例如,我們有下面的情況下,在一種情況下,我們將有價值NewQuote和其他我們不然列出和地圖將允許在報價之後處於第二位,而大型XML則難以管理。用我的方法,無論我的位置是按照標籤名稱進行的,如果存在,它的工作將返回「」。可能不是乾淨的方法,但我是測試人員,想到分享我的經驗。
Akshay
–
這沒有任何意義。對於任何方案,如果有遺漏的元素,你必須以某種方式確定。 –