在Java中循环遍历JSON数组并传输对象

时间:2017-12-11 08:06:08

标签: java arrays json

我有一个JSON数组,其中包含以下对象:

汽车和保存的汽车颜色

0:{Car: "Toyota", Color: "Blue"}
1:{Car: "Porsche", Color: "Black"}
2:{Car: "Ferrari", Color: "Red"}

我需要在java和每次运行中循环遍历该数组,并在数组中使用JSON对象(本例中是Cars)创建一个Java Object,类似于

Test current = new Test(Car, Color)

之后我希望它保存在java数组中,如

data.add(current)

我已经开始做循环,但我无法进一步:

private List<Test> data;

private void setObjects() {
    String newData = request.getParameter("data");

    try {
        JSONArray jsonarr = new JSONArray(Data);

        System.out.println(jsonarr.toString());
    }   
}

2 个答案:

答案 0 :(得分:1)

试试这个:

JSONArray jsonarr = new JSONArray(Data);
for (int i = 0; i < jsonarr.length(); i++) {
    JSONObject jsonobject = jsonarr.getJSONObject(i);
    Test current = new Test(jsonobject.getString("Car"), jsonobject.getString("Color"));
    data.add(current);
}

答案 1 :(得分:0)

作为一个建议,我会创建一个班级&#34; Car&#34;:

public class Car() {
    private String brand;
    private String color;

    ... //add setters and getters here
}

然后使用ObjectMapper来解析输入,从而产生OOP方法。