2016-07-14 61 views
0

道歉,我已經在這裏嘗試了很多東西,似乎遇到了一些問題。這應該很簡單。當兩個字段相同時在Java中解析JSON?

JSON文件:

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

我有一個JSONObject從這個字符串創建。

我曾嘗試 -

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


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

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

所有這些失敗。

我想輸出是簡單的

<p>Hello world<p>

從第一個文本框。

有沒有簡單的方法讓我把這些數據存儲在一個變量中?

謝謝。

+0

'content'是一個數組,而不是一個對象 - 這聽起來像你應該使用'getJSONArray'。展示問題的簡短但完整的程序會讓您更容易幫助您。 –

回答

-2

試試這個:

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

他們爲什麼要這樣做?它有什麼不同?爲什麼他們的代碼錯誤開始? –

+0

同意@SotiriosDelimanolis您提供的答案完全沒有內容,您爲什麼認爲它是有效的,其次你的答案是完全錯誤的。 – basic

+0

在這一行String txtFromJSON = json.getString(「content」);他嘗試獲取數組,但他只想接收第一個文本字段(json.getString(「text」);)的字符串「Hello world」。 – ruru