我有以下JSON,我想从中创建一个Contact对象。我们如何使用
来做到这一点<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
这是字符串
{&#34;总计TOTALSIZE&#34;:1,&#34;完成&#34;:真,&#34;记录&#34;:[{&#34;属性&#34; {&#34 ;类型&#34;:&#34;联系&#34;&#34; URL&#34;:&#34; /services/data/v40.0/sobjects/Contact/0037F000001rW9rQAE"}&#34 ; Id&#34;:&#34; 0037F000001rW9rQAE&#34;,&#34; Name&#34;:&#34; Chris Smith&#34;}]}
我开发了以下代码,但是如何使用JSONArray从中获取详细信息?
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());
}
答案 0 :(得分:1)
您可以像这样解决您的问题,但如果您想管理异常,则应使用方法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);
}