在 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");
//...
}
我尝试解析对 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");
//...
}