我的代码:
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:第36个字符的未终止对象 [{id:0},{descricao:lemb},{mensagem:msg}]
答案 0 :(得分:1)
您的JSON对象无效。我认为你的意思是这样的:
items.add("{'id':0,'descricao':'lemb','mensagem':'msg'}");
这适用于版本20140107中的org.json.json,但JSON标准是使用双引号(&#34;)而不是单引号(&#39;),但你必须在Java中转义它们,这个看起来像这样:
items.add("{\"id\":0,\"descricao\":\"lemb\",\"mensagem\":\"msg\"}");
请自助: