我想从这样的对象打印:
{"data":[["Tiger Nixon","System
Architect","Edinburgh","5421","2011\/04\/25","$320,800"],["Garrett
Winters","Accountant","Tokyo","8422","2011\/07\/25","$170,750"]]}
我在java中试过这样:
ArrayList<String> list = new ArrayList<String>();
list.add("Tiger Nixon");
list.add("System Architect");
list.add("Edinburgh");
list.add("2011\/04\/25");
list.add("$320,800");
JSONArray stateArray = JSONFactoryUtil.createJSONArray();
JSONObject stateObject;
stateObject = JSONFactoryUtil.createJSONObject();
stateObject.put("data", list); // i got an error in here
stateArray.put(stateObject);
System.out.println(stateArray);
但是,我不知道如何实现这样的对象。 有人可以帮助我吗?
答案 0 :(得分:0)
你可以实现这样的目标:
JSONArray stateArray = JSONFactoryUtil.createJSONArray();
stateArray.put("Tiger Nixon");
stateArray.put("System Architect");
stateArray.put("Edinburgh");
stateArray.put("2011\/04\/25");
stateArray.put("$320,800");
JSONObject stateObject;
stateObject = JSONFactoryUtil.createJSONObject();
stateObject.put("data", stateArray);
System.out.println(stateObject.toString());
答案 1 :(得分:0)
注意: - 此处
JSONObject
类我使用的任何类型都属于org.json.simple
Jar Only。我使用了这个课程org.json.simple.JSONObject
你试过的是。您正在尝试创建类型为ArrayList<String>
的JSONObject,它不会为您提供预期的结果,因为您的json
数组格式就是这样的
[["","",""],["","",""],["","",""],["","",""]] // arraylist inside an arraylist.
您的格式类似于ArrayList
中的ArrayList
,但您尝试的只使用一个ArrayList
。
这是您的代码。
ArrayList<String> list = new ArrayList<String>(); //only one arrayList.
list.add("Tiger Nixon"); // adding values to the list.
list.add("System Architect");
list.add("Edinburgh");
list.add("2011\/04\/25");
list.add("$320,800");
您的代码会提供这样的输出..
[{"data":"["","",""]"}, {"data":"["","",""]"}, {"data":"["","",""]"}]
尝试使用此代码代替您的代码(以下仅供样本使用,请根据您的需要尝试操作此逻辑)。这将给你预期的结果。
ArrayList<ArrayList<String>> final_arrObject = new ArrayList<ArrayList<String>();
ArrayList<String> list;
for(int i=0; i<5; i++){ //demo to add 5 ArrayList<String> to an ArrayList<ArrayList<String>>.
list = new ArrayList<String>(); //only one arrayList.
//at each iteration you may change you ArrayList Values.
list.add("Tiger Nixon"); // adding values to the list.
list.add("System Architect");
list.add("Edinburgh");
list.add("2011\/04\/25");
list.add("$320,800");
final_arrObject.add(list);
}
JSONObject obj_finalJSON= new JSONObject();
obj_finalJSON.put("data", final_arrObject);
System.out.println(obj_finalJSON.toString()); //it will print your json as a String.
答案 2 :(得分:-2)
有一个模型,还有一些属性。 您可以新建一些模型信息,并将其添加到列表中。 然后将此列表放到JSON中,并将其打印为json.toString()。 如果您需要特定代码,请发送消息给我!