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

标签 java gson json

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

如果有任何帮助,我们将不胜感激!

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

[...]

    ResultSet results = getApprovalCount.executeQuery();

    while (results.next()) {
        responseData.put("vote" + results.getString("submission_id"), results.getString("counter"));
    }

[...]

    message.put("submissions", responseData);

结果:

{"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);

[...]

    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);

关于java - 在java中使用哈希表创建json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29101778/

相关文章:

java - Quartz Cron 触发器,运行两次

Java 到 JSON 的转换引发意外的 token 错误

java - Jackson/Gson 能给我所有已知的可反序列化字段名称吗?

java - 将 JSON 分配给 Java String 时如何转义特殊字符

java - 提供了 kafka schema.registry.url 但不是已知的配置

java - 具有接口(interface)属性的 JPA 实体,这可能吗?

javascript - 未捕获的类型错误 : undefined is not a function when using JSON object with name

java - 使用不同的类将 JSON 数据与 GSON 映射

java - 如何修复 "Data not saved"?

java - 如何通过Cucumber从多个json文件中获取数据进行验证?