我正在尝试构建以下类型的JSON对象
[
{"Value":0,"Cities":["London","Tokyo","Washington"],"Name":"John"},
{"Value":1,"Cities":["London","Tokyo","Washington"],"Name":"John"},
{"Value":2,"Cities":["London","Tokyo","Washington"],"Name":"John"}
]这就是我到目前为止所做的。使用最后一个条目写入JSON对象。
JSONArray outer = new JSONArray();
JSONObject js = new JSONObject();
List<String> str = new ArrayList<String>();
str.add("London");
str.add("Tokyo");
str.add("Washington");
int res = 3;
for(int i=0;i<res;i++){
js.put("Value", i);
js.put("Name", "John");
js.put("Cities", str);
outer.add(js);
}
System.out.println(outer);我现在得到的是:
[
{"Value":2,"Cities":["London","Tokyo","Washington"],"Name":"John"},
{"Value":2,"Cities":["London","Tokyo","Washington"],"Name":"John"},
{"Value":2,"Cities":["London","Tokyo","Washington"],"Name":"John"}
]发布于 2017-04-11 12:50:51
每次在循环内创建一个新的JSONObject。
JSONArray outer = new JSONArray();
JSONObject js = null;
List<String> str = new ArrayList<String>();
str.add("London");
str.add("Tokyo");
str.add("Washington");
int res = 3;
for(int i=0;i<res;i++){
js= new JSONObject();
js.put("Value", i);
js.put("Name", "John");
js.put("Cities", str);
outer.add(js);
}
System.out.println(outer);此外,如果随时更改城市,您可能会遇到相同的问题,因此,除非它们始终保持所需的三个城市,否则请为每个对象创建一个新列表。
发布于 2017-04-11 12:54:13
您需要为每个值、名称、城市对创建新的JSON对象。所以你需要把它放在second for循环中。像这样
for(int i=0;i<res;i++){
js= new JSONObject();https://stackoverflow.com/questions/43336990
复制相似问题