2013-10-14 140 views
0

我遇到Android Json問題。我的代碼如下:解析json數據時出錯Android

//Parse json data 
try{ 
String s = ""; 
JSONArray jArray = new JSONArray(result); 
for(int i=0; i<jArray.length();i++){ 
JSONObject json = jArray.getJSONObject(i); 
s = json.getString("codeqr"); 
} 

結果:

[{"codeqr": "name"}, {"codeqr": "name"}] 

而且我想得到的結果:名稱,名稱什麼是我的問題的代碼?

編輯:

對不起,我的英語水平。我需要刪除我的結果中的'['和'{'。

例如:

名,姓名2,NAME3

謝謝大家!

+0

爲什麼它不工作? –

+2

您的預期成果是什麼? –

+0

問題在於它不會產生錯誤消息,也不會產生任何類型的結果。 (否則你會列出它們,對嗎?) –

回答

2

每次在循環中覆蓋s的值。如果您希望它包含JSON字符串中的所有值,則需要附加到它。

for(int i=0; i<jArray.length(); i++){ 
    JSONObject json = jArray.getJSONObject(i); 
    if (i > 0) { 
     s = s + ","; 
    } 
    s = s + json.getString("codeqr"); 
} 
+0

其實,我認爲問題是括號內的不平衡。 –

+0

@HotLicks我認爲這是因爲他沒有發佈完整的代碼。我假設他編譯的代碼。 –

+0

他從來沒有說過它編譯。他說他有「問題」。 –

0

我不認爲這個問題是不平衡的括號,答案似乎之上,如果用戶打算使用顯示字符串中的關鍵「codeqr」的所有元素是正確的。

我還喜歡使用StringBuilder(如果您需要線程安全對象,請使用StringBuffer),因爲當您的json數據大於兩個元素(100-200)時,StringBuilder將更具性能。

+0

事實上,答案可能是任何事情,因爲OP沒有提出任何問題。 –