如何在JAVA中打印对象数组

时间:2016-04-12 09:02:22

标签: java

我想从这样的对象打印:

{"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);

但是,我不知道如何实现这样的对象。 有人可以帮助我吗?

3 个答案:

答案 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()。 如果您需要特定代码,请发送消息给我!