Holen Sie sich sub-array aus JSON
Ich analysieren einige Daten aus einer json-Datei. Hier ist meine JSON-Datei.
[
{
"topic": "Example1",
"contact": [
{
"ref": [
1
],
"corresponding": true,
"name": "XYZ"
},
{
"ref": [
1
],
"name": "ZXY"
},
{
"ref": [
1
],
"name": "ABC"
},
{
"ref": [
1,
2
],
"name":"BCA"
}
] ,
"type": "Presentation"
},
{
"topic": "Example2",
"contact": [
{
"ref": [
1
],
"corresponding": true,
"name": "XYZ"
},
{
"ref": [
1
],
"name": "ZXY"
},
{
"ref": [
1
],
"name": "ABC"
},
{
"ref": [
1,
2
],
"name":"BCA"
}
] ,
"type": "Poster"
}
]
Kann ich Daten Holen und speichern. Wie diese
JSONArray getContactsArray = new JSONArray(jsonObject.getString("contact"));
for(int a =0 ; a < getContactsArray.length(); a++)
{
JSONObject getJSonObj = (JSONObject)getContactsArray.get(a);
String Name = getJSonObj.getString("name");
}
1)Nun meine Frage gibt es eine Möglichkeit, um alle name
Werte für die Arrays mit einzelnen Abfrage.
2) Kann ich alle diese Werte in einem Array
?
Bitte korrigieren Sie mich, wenn ich mache etwas falsch. Danke.
InformationsquelleAutor user2579475 | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Iteration nicht vermieden werden kann, hier als
org.json
und andere Json-Parser als auch den wahlfreien Zugriff auf Objekte, aber nicht um deren Eigenschaften gemeinsam (als eine Erhebung). Sie können also keine Abfrage so etwas wie "alle name-Eigenschaften alle contact-Objekte", es sei denn, Sie wahrscheinlich bekommen ein Json-parser wie Gson zu unmarshall es so.Aber, das ist zu viel, um nur zu vermeiden, eine
for
- Schleife, wenn Sie können auf jeden Fall verkürzen analysieren, die durch die Nutzung der entsprechenden API-Methoden, zur Vermeidung unnötiger Objekt wirft.InformationsquelleAutor Ravi Thapliyal
Besser einen json-parser, wie GSon oder Jackson marshall Ihr von json zu java-Objekt. Dann schreiben Sie utitlity-Methode in der java-Klasse zum abrufen aller Namen, die in das Objekt.
InformationsquelleAutor Juned Ahsan
Versuchen Sie dies:
Erstellen JSONObject Ihre Datei und versuchen, ein array mit allen Namen und wiederholen Sie es, um alle Werte.
InformationsquelleAutor Tanu Garg