[英]JAVA JSONObject adding a new element in Arrays (JSONArray)
我需要在JSONArray中添加一個元素,但是方法“ append”會創建多個數組,而不是添加一個元素。
最簡單的方法是什么?
我使用JUnit創建了以下示例代碼,目的只是為了解決我的問題。
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
public class JettisonJSONOperations {
JSONObject jsonObject = new JSONObject();
@Before
public void preCreateJsonObject (){
try {
jsonObject.put("groupName","administrators");
JSONArray members = new JSONArray();
members.put("edward");
members.put("richard");
members.put("john");
jsonObject.put("members", members);
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println(jsonObject.toString());
}
@Test
public void addingElementToJSONArray (){
try {
jsonObject.append("members", "batman");
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println(jsonObject.toString());
}
}
輸出:
{"groupName":"administrators","members":["edward","richard","john"]}
{"groupName":"administrators","members":[["edward","richard","john"],"batman"]}
Process finished with exit code 0
在閱讀了很多關於拋棄問題的評論之后,我決定將Jettison JSONObject庫更改為org.json。
從:
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>1.3.4</version>
</dependency>
至:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
</dependency>
好消息它完美地起作用:)
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
public class ORGJSONOperations {
JSONObject jsonObject = new JSONObject();
@Before
public void preCreateJsonObject (){
try {
jsonObject.put("groupName","administrators");
JSONArray members = new JSONArray();
members.put("edward");
members.put("richard");
members.put("john");
jsonObject.put("members", members);
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println(jsonObject.toString());
}
@Test
public void addingElementToJSONArray (){
try {
jsonObject.append("members", "batman");
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println(jsonObject.toString());
}
}
輸出:
{"groupName":"administrators","members":["edward","richard","john"]}
{"groupName":"administrators","members":["edward","richard","john","batman"]}
Process finished with exit code 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.