我想在下面的JSON字符串中显示Key值对中的所有数据。
response {
community: “worker”
communitystr: "<null>";
workspace: abs;
email: "<null>";
admin: false;
persona: "<null>";
userinfo: {
info: {
contact1: {
firstname: “jon”;
lastname: “Doe”
phone: “9885678905”;
objectname: contact;
id: 9;
};
event1: {
eventname: “party”;
description: "";
order: 6;
id: 4;
objectname: events;
};
files: {
filename: “sample”;
description: "";
order: 11;
id: 11;
objectname: files;
};
};
};
因为我对这个发现困难不熟悉。如何获取数组中的键值或任何其他可访问的格式?谢谢你的帮助
答案 0 :(得分:0)
首先你的json格式不正确,如果你试图使用JSONObject
或者GSON库将抛出不是json类型的异常。
请使用正确的json格式。
{
[
{
username: "somename",
userId : "1"
},
{
username: "somename2",
userId: "2"
}
]
}
一般JSONObject包含JSONArray或JSONObject,您可以使用内置JSON的android解析它。
JSONArray jsonArray = new JSONArray(yourJSONArray);
for(int i = 0; i < jsonArray.length(); i++){
JSONObject json = jsonArray.getJSONObject(i);
String username = json.getString("username"); //here is how to get username key
}
以下是循环访问JSON对象中每个键和值的方法
JSONArray array = new JSONObject(result);
Iterator<String> iter = jsonObject.keys();
while (iter.hasNext()) {
String key = iter.next();
String value = jsonObject.getString(key)
Log.d(TAG,"key = "+key+" value = "+value); // always use tag in log cat for preventing confusion
}
无论你还需要什么样的JSON格式。