将POJO解析为JSON对象

时间:2015-12-07 15:11:49

标签: java pojo jsonobject org.json

我必须将POJO转换为JSON对象,但我遇到了问题。 我的POJO有四个变量及其getter和setter。

private String RouteCoord; private String RouteName; private String freqArray; private Double AvgTime;

我已经宣布了一个对象列表

List<KPIsStructure> listOfKPIsObjects = new ArrayList<>();

我运行一个for循环,在其中创建我的POJO类的实例并将它们添加到已经声明的列表中(listOfKPIsObjects)

for (int i=0;i<routes.length;i++){

    KPIsStructure innerObject = new KPIsStructure();
    innerObject.setRouteCoord(routes[i][1]);
    innerObject.setRouteName(routes[i][0]);
    innerObject.setAvgTime(AvgTime[i]);
    innerObject.setfreqArray(freqArray[i]);
    listOfKPIsObjects.add(innerObject);
}

然后有另一个for循环来创建一个嵌套的JSON对象

for (int i=0;i<listOfKPIsObjects.size();i++){
    JSONObject temp = new JSONObject(listOfKPIsObjects.get(i));
    processedJson.put("journey_"+(i+1), temp);
}

我返回processedJson。问题是结果是缺少POJO类的一个变量(String freqArray)。

  

{ “journey_1”:{ “avgTime”:12.283334, “routeCoord”: “435,345-789,1011”, “routeName”: “TTY-keskustori”}, “journey_2”:{ “avgTime”:12.283334,” routeCoord “:” 123,456-789,1011" , “routeName”: “赫凡塔-TTY”}, “journey_3”:{ “avgTime”:12.283334, “routeCoord”: “123,456-789,1011”, “routeName”:”卡勒瓦-keskustori“}}

我尝试将类的变量作为字符串传递并且它可以工作,它还显示字符串 freqArray 不为空。

String toJson = "{\"RouteName:"+listOfKPIsObjects.get(i).getRouteName()+",RouteCoordinates:"+listOfKPIsObjects.get(i).getRouteCoord()+",AvgTime:"+listOfKPIsObjects.get(i).getAvgTime()+",VisitFrequency:"+listOfKPIsObjects.get(i).getfreqArray()+"}";

这样做会消除从POJO映射到JSON对象的想法,反之亦然,这会让它变得不方便。

任何想法我可能在这里做错了。我正在使用org.json。

0 个答案:

没有答案