JSONObject不工作

时间:2016-04-06 14:09:33

标签: java android json

我正在为Android构建一个应用程序。

我触发和HTTP GET请求,此请求返回一个JSONObject。我想按键检索值。但这不能正常工作。 这是我收到的名为obj的JSONObject: {"id":1,"name":"math","description":"This is a math course."}

如果我记录Log.d("title", String.valueOf(obj.has("name")));,这将导致为真。 这适用于JSONObject中的所有键。

但是,如果我想收到这个名字并这样做:

Log.d("title", obj.getString("name"));

我将得到一个未处理的异常:org.json.JSONException。

有人知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

也许你应该尝试这样的事情:

Log.d(" title",obj.name);

答案 1 :(得分:0)

var obj = $.parseJSON('{"id":1,"name":"math","description":"This is a math course."}');
alert(obj['name']);

试试这个:)如果你没有使用jquery,你可以使用$ .parseJSON的JSON.parse。以下是Java

String s = "{menu:{\"1\":\"sql\", \"2\":\"android\", \"3\":\"mvc\"}}";
JSONObject jObject  = new JSONObject(s);
JSONObject  menu = jObject.getJSONObject("menu");

Map<String,String> map = new HashMap<String,String>();
Iterator iter = menu.keys();
while(iter.hasNext()){
   String key = (String)iter.next();
   String value = menu.getString(key);
   map.put(key,value);
}

答案 2 :(得分:0)

{}之间的所有内容都构成了数组的一部分,因此您首先需要获得这样的JSONArray:

JSONArray myJSONArray = obj.getJSONArray();

然后您可以使用以下命令访问字段值:

myJSONArray.getString(&#34; name&#34;)等......

在Google上搜索如何使用JSONArray。