2015-07-01 75 views
-1

我的代碼:如何將字符串轉換爲json並獲得結果?

List itens = new ArrayList(); 

itens.add("[{id:0},{descricao:lemb},{mensagem:msg}]"); 
itens.add("[{id:2},{descricao:lemb},{mensagem:msg}]"); 
itens.add("[{id:3},{descricao:lemb},{mensagem:msg}]"); 
for (int i=0; i < itens.size(); i++) { 
    Log.v("MyTag", Integer.toString(i) + ":" + itens.get(i).toString()); 
JSONObject jObject = null; // json 
try { 
    jObject = new JSONObject(itens.get(i).toString()); 
    String projectname = jObject.getString("descricao"); // get the name from data. 
    Log.v("MyTag-3", projectname); 
} catch (JSONException e) { 
    Log.v("MyTag-4", e.toString()); 
    e.printStackTrace(); 
} 

} 

我代碼返回JSONException:

org.json.JSONException:未終結對象在 [{ID:0}字符36,{descricao:lemb},{ mensagem:msg}]

+0

從哪裏得到了字符串?這不是有效的JSON。 –

回答

1

您的JSON對象無效。我覺得你的意思是這樣的:

items.add("{'id':0,'descricao':'lemb','mensagem':'msg'}"); 

這適用於org.json.json在20140107版本,但JSON標準是用雙引號(「),而不是單引號('),但你必須逃離他們在Java中,這應該是這樣的:

items.add("{\"id\":0,\"descricao\":\"lemb\",\"mensagem\":\"msg\"}"); 

請自便在: