我必须将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。