jsonobject中getkey,从JSONObject获取Key和值

I am trying to extract Key and values from my JSONObject. But i am not able to do that. Here is the JSON:

[{"id":["5"]},{"Tech":["Java"]}]

It is a String initially. I have converted that to JSONObject using :

JSONObject jsonObj = new JSONObject("[{"id":["5"]},{"Tech":["Java"]}]");

Then i am trying to get the key and value by:

jsonObj.getString("id");

But its giving me null. Can anyone help me out here?

解决方案

Try this:

try {

JSONArray jsonArr = new JSONArray("[{\"id\":[\"5\"]},{\"Tech\":[\"Java\"]}]");

for (int i = 0; i < jsonArr.length(); i++) {

JSONObject jsonObj = jsonArr.getJSONObject(i);

String k = jsonObj.keys().next();

Log.i("Info", "Key: " + k + ", value: " + jsonObj.getString(k));

}

} catch (JSONException ex) {

ex.printStackTrace();

}