Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java中的哈希表创建json数组_Java_Json_Gson_Jsonobject - Fatal编程技术网

使用java中的哈希表创建json数组

使用java中的哈希表创建json数组,java,json,gson,jsonobject,Java,Json,Gson,Jsonobject,我对如何使用JSONObject()或google的gson库从java中的哈希表构造关联数组有点困惑 在此感谢您的帮助 JSONObject message = new JSONObject(); Map<String,String> responseData = new Hashtable<String, String>(); [……] 结果: {"submissions":{"vote1":"2","vote7":"1","vote25":"1",

我对如何使用JSONObject()或google的gson库从java中的哈希表构造关联数组有点困惑

在此感谢您的帮助

    JSONObject message = new JSONObject();
    Map<String,String> responseData = new Hashtable<String, String>();
[……]

结果:

{"submissions":{"vote1":"2","vote7":"1","vote25":"1","vote6":"1","vote13":"1","vote9":"1","vote11":"1"}}
预期结果:

{"submissions":[{"vote1":"2"},{"vote7":"1"},{"vote25":"1"},{"vote6":"1"},{"vote13":"1"},{"vote9":"1"},{"vote11":"1"}]}
想出来了

  JSONObject message = new JSONObject();
  ArrayList<Map<String,String>> responseData = new ArrayList<Map<String,String>>();
  User user = new User(request);

哦,好的,我看到了更新。正确,这是一个带有一个字段的对象列表,没有仔细阅读您的更新。
{"submissions":[{"vote1":"2"},{"vote7":"1"},{"vote25":"1"},{"vote6":"1"},{"vote13":"1"},{"vote9":"1"},{"vote11":"1"}]}
  JSONObject message = new JSONObject();
  ArrayList<Map<String,String>> responseData = new ArrayList<Map<String,String>>();
  User user = new User(request);
    while (results.next()) {
        Map<String,String> tmpdata = new Hashtable<String, String>();
        tmpdata.put("vote" + results.getString("submission_id"), results.getString("counter"));
        responseData.add(tmpdata);
    }
    message.put("submissions", responseData);