将List <string>添加到JSONArray

时间:2015-06-11 10:52:24

标签: java json

我正在尝试使用JSON库来增强JSON。在momant我正在创建JSONArray添加以添加我的列表中的所有值,但我面临这个问题

  

方法put(int,boolean)在JSONArray类型中不适用于参数(String,List)

此行arrivalMoFr.put("mon-fri", timeEntries);如何将列表添加到JSONArray

我感谢任何帮助。

代码:

    List<String> timeEntries = entry.getValue();

    try {
        JSONObject timeTable = new JSONObject();
        timeTable.put("route", route);

        JSONObject info = new JSONObject();
        info.put("direction", direction);

        JSONObject stops = new JSONObject();     
        stops.put("stops_name", key);

        JSONObject arrivals = new JSONObject();
        JSONArray arrivalMoFr  = new JSONArray();
                        //The error is here.
        arrivalMoFr.put("mon-fri", timeEntries);

        arrivals.put("mon-fri", arrivalMoFr);

        stops.put("arrival_time", arrivals);


        info.put("stops", stops);
        timeTable.put("info", info);

        System.out.println(timeTable.toString(3));


    }

修改 我这样添加了它,但我现在得到了这个结果:

JSONObject arrivals = new JSONObject();
                JSONArray arrivalMoFr  = new JSONArray();
                arrivalMoFr.put( timeEntries);

                arrivals.put("mon-fri", arrivalMoFr);

结果:

{
   "route": "4",
   "info": {
      "stops": {
         "arrival_time": {"mon-fri": [[
            "05:04",
            "18:41",
            "19:11",
            "19:41",
            "20:11"
         ]]},
         "stops_name": "Heiweg "
      },
      "direction": "Groß Grönau"
   }
}

2 个答案:

答案 0 :(得分:0)

您可以使用GsonList<String>转换为JSON

List<String> listStrings = new ArrayList<String>();
listStrings.add("a");
listStrings.add("b");

Gson objGson = new Gson();
System.out.println(objGson.toJson(listStrings));

输出

["a","b"]

答案 1 :(得分:0)

JSONArray att = new JSONArray(YourList);