2012-04-11 25 views
0

Ich brauche die json Array Kontakte aus dem unten jsonParsing jsonarray in android

{ 

    }, 
    //Truncated for clarity 
    ] 
} 
+0

Das ist gültiger JSON nach [jso Nlint] (http://jsonlint.com), was ist das Problem? – aroth

+0

Was ist das Problem, das Sie analysieren müssen? –

+0

Ich muss die JSonarray-Kontakte analysieren – harish

Antwort

1

Ich denke, das ist nicht eine gültige Json. normale Json muss eine "Label": "value" haben. Label und Wert muss durch Doppelpunkt :

"w","www.firmdale.com" 

wie diese

"w":"www.firmdale.com" 

http://code.google.com/p/jsonvalidator/

Herausgegeben Sollte getrennt werden: mehr klar und spezifisch zu sein, wie pro Aroth

object 
    {} 
    { members } 
members 
    pair 
    pair , members 
pair 
    string : value 
array 
    [] 
    [ elements ] 
elements 
    value 
    value , elements 
value 
    string 
    number 
    object 
    array 
    true 
    false 
    null 
+0

ja bin auch thinkg das gleiche .. können Sie es zu jemandem – harish

+0

in jsonlint es als gültige JSON – harish

+0

Es ist gültig JSON, aber * logisch * sie sollten bestätigen habe ein JSON * -Objekt * anstelle eines JSON * -Arrays * zum Speichern der einzelnen Kontakteinträge verwendet. – aroth

0
private JSONObject jObject; 
jObject = new JSONObject(your response as string); 
//this will give you json object for HotelInformationResponse 
JSONArray menuitemArray = popupObject.getJSONArray("result"); 
// loop through this array to get all values 

für zusätzliche Informationen Check this link

4

Parsing ist einfach zu analysieren. Zuerst erhalten Sie json-simple und fügen Sie es Ihrem Projekt hinzu (oder Sie können die integrierte JSON-Bibliothek verwenden, wenn Sie möchten, wie alles in dieser Bibliothek eine überprüfte JSONException auslösen kann).

Als nächstes ist Ihr gesamter Antworttext ein gültiges JSON-Objekt. Also:

JSONObject response = (JSONObject)JSONValue.parse(responseText); 

Ihr Objekt hat eine Reihe von Ergebnissen unter dem "Ergebnis" -Schlüssel. Sie können diese wie erhalten:

JSONArray results = (JSONArray)response.get("result"); 

Ihr Array enthält eine Reihe von Objekten, die Sie möchten für jeden die Kontaktinformationen iterieren zu bekommen. Zum Beispiel:

for (Object obj : results) { 
    JSONObject entry = (JSONObject)obj; 
    JSONArray contacts = (JSONArray)entry.get("contact"); 
    for (Object contact : contacts) { 
     System.out.println(contact); 
    } 
} 

anzumerken, dass, wen setzen, die JSON zusammen zum Halten jeden einzelnen Kontakteintrags einen Array-Typen zu verwenden, entschieden. Ein Objekttyp hätte viel mehr Sinn ergeben, aber contact.get(0) gibt Ihnen den Typ-Code für den Kontakteintrag (t, w usw.) und contact.get(1) gibt Ihnen die tatsächliche Kontaktnummer/Adresse/was auch immer .