`嗨,大家好,
请检查这个Json的格式。
{"id": "293369****","owner": {
"name": "******",
"id": "*****"},name": "test event","start_time": "2012-05-18T02:00:00","end_time":"2012-05-18T05:00:00","privacy": "FRIENDS","updated_time": "2012-05-18T08:25:37+0000"}
M使用此代码。我能够获取除所有者json数组之外的所有值。 我想获取所有者数组的值。 请建议我在哪里出错。
json = new JSONObject(responsedata);
Log.d(TAG, "name=" + responsedata);
facebookData = new Events();
JSONArray data=json.optJSONArray("owner");
Log.d(TAG, "Data length==" + data.length());
if (data.length() > 0) {
for (int i = 0; i < data.length(); i++) {
JSONObject jsonobj = data.getJSONObject(0);
Log.d(TAG, "owner Name="+jsonobj.getString("name"));
}
}
facebookData.setEventName(json.getString("name"));
facebookData.setEventId(json.getString("id"));
facebookData.setEventStartDate(json.getString("start_time"));
facebookData.setEventEndDate(json.getString("end_time"));
facebookData.setPrivacy(json.getString("privacy"));
facebookData.setUpdatedTime("updated_time");
我无法获取所有者名称和所有者的脸书ID。我的json解析器存在一些问题。
请帮助我。
先谢谢 高拉夫古普塔
答案 0 :(得分:5)
{
"id":"293369****",
"owner":{
"name":"******",
"id":"*****"
},
"name":"test event",
"start_time":"2012-05-18T02:00:00",
"end_time":"2012-05-18T05:00:00",
"privacy":"FRIENDS",
"updated_time":"2012-05-18T08:25:37+0000"
}
由于{
表示JsonObject,[
表示JsonArray。
我在上面的字符串中找不到任何JsonArray。 "owner"
是JsonObject。
您必须修改代码,请参阅http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/
答案 1 :(得分:0)
try this one
try{
JSONArray jArray = new JSONArray(result);
JSONObject json_data=null;
for(int i=0;i<jArray.length();i++)
{
json_data =jArray.getJSONObject(i);
String src_name=json_data.getString("owner");
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
}
答案 2 :(得分:0)
如果所有者是JSONArray
,它应该如下所示(在[]
内)
"owner": [{"name": "******", "id": "*****"}]