将 JSONArray 转换为对象?
Convert JSONArray to Object?
我有以下 JSON,我想从中创建一个联系人对象。我们如何使用
做到这一点
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
这是字符串
{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/v40.0/sobjects/Contact/0037F000001rW9rQAE"},"Id":"0037F000001rW9rQAE","Name":"Chris Smith"}]}
我开发了以下代码,但如何使用 JSON数组从中获取详细信息?
JSONParser jsonParser = new JSONParser();
Object obj = jsonParser.parse(value);
JSONObject jsonObject = (JSONObject) obj;
JSONArray jsonArray = (JSONArray) jsonObject.get("records");
System.out.println("~~~~~~~~~~~>>> "+jsonArray);
List<Contact> contacts = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject rec = (JSONObject) jsonArray.get(i);
Contact c = new Contact();
c.setId(jsonArray.get(j).toString());
contacts.add(jsonArray.get(j).toString());
}
您可以这样解决您的问题,但如果您想管理异常,您应该使用方法 getString(KEY),而不是 optString(KEY)
List<Contact> contacts = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject rec = (JSONObject) jsonArray.get(i);
Contact c = new Contact();
c.setId(rec.optString("Id"));
c.setName(rec.optString("Name"));
c.setAtributes(rec.optJSONObject("attributes"))
contacts.add(rec);
}
我有以下 JSON,我想从中创建一个联系人对象。我们如何使用
做到这一点<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
这是字符串
{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/v40.0/sobjects/Contact/0037F000001rW9rQAE"},"Id":"0037F000001rW9rQAE","Name":"Chris Smith"}]}
我开发了以下代码,但如何使用 JSON数组从中获取详细信息?
JSONParser jsonParser = new JSONParser();
Object obj = jsonParser.parse(value);
JSONObject jsonObject = (JSONObject) obj;
JSONArray jsonArray = (JSONArray) jsonObject.get("records");
System.out.println("~~~~~~~~~~~>>> "+jsonArray);
List<Contact> contacts = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject rec = (JSONObject) jsonArray.get(i);
Contact c = new Contact();
c.setId(jsonArray.get(j).toString());
contacts.add(jsonArray.get(j).toString());
}
您可以这样解决您的问题,但如果您想管理异常,您应该使用方法 getString(KEY),而不是 optString(KEY)
List<Contact> contacts = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject rec = (JSONObject) jsonArray.get(i);
Contact c = new Contact();
c.setId(rec.optString("Id"));
c.setName(rec.optString("Name"));
c.setAtributes(rec.optJSONObject("attributes"))
contacts.add(rec);
}