【发布时间】:2018-03-30 17:50:22
【问题描述】:
{
"reservation_upto": {
"lng": 78.0098161,
"lat": 27.1752554,
"code": "AGC",
"name": "AGRA CANTT"
},
"debit": 3,
"doj": "28-05-2018",
"to_station": {
"lng": 78.0098161,
"lat": 27.1752554,
"code": "AGC",
"name": "AGRA CANTT"
},
"response_code": 200,
"boarding_point": {
"lng": 80.2755685,
"lat": 13.081674,
"code": "MAS",
"name": "CHENNAI CENTRAL"
},
"pnr": "4405474586",
"chart_prepared": false,
"journey_class": {
"code": "3A",
"name": null
},
这就是我使用 VOLLEY 尝试过的方法
private void loaddata() {
String url = "https://api.railwayapi.com/v2/pnr-status/pnr/4655474586/apikey/q15rfl3kpz/";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
progressDialog.dismiss();
JSONObject obj = null;
try {
String str="";
obj = response.getJSONObject("name");
str = String.valueOf(obj);
TextView tv = (TextView)findViewById(R.id.textView);
tv.append(str);
}
}
}
}
}
【问题讨论】:
-
您使用的是什么解析器?你面临什么问题?你能告诉我们你的代码尝试吗?
-
我已经添加了我正在使用的代码。我使用 Volley 来解析数据
-
你在哪里检索“doj”?
-
看起来您可以从您的
JsonObjectRequest中获取Result<JsonObject>,从该结果中提取JsonObject,然后从该jsonObject 中提取getString("doj")应该可以解决问题。请注意,我对 Volley 没有任何先验知识,我只是通过查看不同类的 javadocs 来收集的,您绝对应该这样做。
标签: java json parsing key-value