2016-07-14 5 views
0

Entschuldigung, ich habe mehrere Dinge hier versucht und scheinen in einige Probleme zu laufen. Dies sollte einfach sein.JSON in Java analysieren, wenn zwei Felder gleich sind?

JSON-Datei:

{ 
    "content": [ 
    { 
     "media_type": "text/html", 
     "text": "<p>Hello world</p>" 
    }, 
    { 
     "media_type": "text/plain", 
     "text": "Hello world" 
    } 
    ], 
    "id": "123", 
    "title": "no-title" 
} 

Ich habe eine JSONObject aus dieser Zeichenfolge erstellt.

Ich habe versucht -

String txtFromJSON = json.getJSONObject("content").getJSONObject("text").toString(); 


String txtFromJSON = json.getString("content.text"); 

String txtFromJSON = json.getString("content"); 

Alle diese versagen.

Der Ausgang Ich mag würde, ist einfach die

<p>Hello world<p>

aus dem ersten Textfeld ein.

Gibt es eine einfache Möglichkeit für mich, diese Daten in einer Variablen gespeichert zu bekommen?

Danke.

+0

'content' ein Array ist, kein Objekt - es klingt wie Sie' getJSONArray' verwendet werden soll. Ein kurzes, aber vollständiges Programm, das das Problem demonstriert, würde es Ihnen leichter machen, Ihnen zu helfen. –

Antwort

-2

versuchen Sie dies:

final JSONObject obj = new JSONObject(youJsonString); 
final JSONObject content = obj.getJSONArray("content"); 
final int n = content.length(); 
if(n ==1){ 

String txtFromJSON = json.getString("text"); 

} 
+1

Warum sollten sie das versuchen? Welchen Unterschied macht es? Warum war ihr Code falsch? –

+0

Stimmen Sie mit @SotiriosDelimanolis überein Sie geben absolut keinen Inhalt zu Ihrer Antwort, warum Sie denken, dass es gültig ist, zweitens ist Ihre Antwort völlig falsch. – basic

+0

In dieser Zeile String txtFromJSON = json.getString ("content"); er versucht, ein Array zu bekommen, will aber nur die Zeichenfolge "Hallo Welt" des ersten Textfelds (json.getString ("text");) erhalten. – ruru

Verwandte Themen