[英]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.