JSON прост в использовании, но когда-то писать несколько дочерних элементов дает боль, чтобы писать getJSONObject ("") снова и снова в Java. Есть ли простой способ избежать повторных вызовов и сделать код более чистым?Метод Java для чтения элементов JSON
0
A
ответ
-1
После того, как вы попробовали несколько раундов, я подошел под подходом, вы просто передали объект 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, а другое мы не будем тогда List и Карты позволят быть на втором месте после цитаты, а для большого XML - сложнее управлять. С моим подходом, независимо от местоположения, я перехожу к названиям тегов, и если он существует, он работает else return "". Может быть, не чистый подход, но я тестер и думал поделиться своим опытом.
Akshay
–
Это не имеет никакого смысла. При любой схеме, если есть опущенные элементы, вы должны как-то это понять. –