在 java 中解析并从 HTTP 响应中获取特定字段

parse and get specific field from HTTP response in java

我尝试解析对 JSONObject 的 HTTP 响应并检索一些字段,可以是字符串或整数。 我的回复是一个 json 数组,如下所示:

[{nid: "24161",changed: 1445936169,created: "1444728767",language: "en",status: 1,title: "bicycle",type: "product",uid: "2172",vid: "24161"}]

我尝试使用:

JSONObject myObject = new JSONObject(response);

gson ,仍然在解析响应后变为 {}。 感谢您的帮助。

您正在将 json 数组解析为对象。使用 JSONArray 而不是 JSONObject

JSONArray myArray = new JSONArray(response);

您可以通过索引从数组中获取对象。

您必须使用 JSONArray 而不是 JSONObject

JSONArray array = new JSONArray(response);

然后您可以迭代抛出数组并获取您想要的字段

for(int i=0; i<array.length(); i++) {
    JSONObject object = array.getJSONObject(i);
    String nid = object.getString("nid");
    int changed = object.getInt("changed");
    //...
}