【问题标题】:How to extract key value from a JSON response in Java Language? I want to extract the value of "doj" but I'm not able to do so如何从 Java 语言中的 JSON 响应中提取键值?我想提取“doj”的价值,但我不能这样做
【发布时间】: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&lt;JsonObject&gt;,从该结果中提取JsonObject,然后从该jsonObject 中提取getString("doj") 应该可以解决问题。请注意,我对 Volley 没有任何先验知识,我只是通过查看不同类的 javadocs 来收集的,您绝对应该这样做。

标签: java json parsing key-value


【解决方案1】:
JSONObject obj = (JSONObject) object;    
String doj = (String) obj.get("doj")

您可以使用 JSONObject obj 找出键 doj 的值。

稍后,如果您想将 doj 作为任何其他数据类型,您可以在其中进行解析。可能这会有所帮助。我对 Volley 没有太多想法:)

【讨论】:

    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2019-04-17
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    相关资源
    最近更新 更多