2015-07-01 72 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\"}"); 

请自便在: