【问题标题】:JSON Creation from Java从 Java 创建 JSON
【发布时间】:2011-09-26 19:01:10
【问题描述】:

您好,我是 JSON 新手,我必须从 Java 创建以下 JSON。

{{ "TESTMAIN" : { "TEST1" : { "384" : "250", "96" : "450" },
           "TEST2" :{ "384" : "5", "96" : "10" },
           "TEST3" : "256",
           "TEST4" : "T" }

我已经使用 JSONObject.put 创建了每个对象。但是如何将 4 个 TEST 对象与文本 TESTMAIN 结合起来。有什么想法吗?

【问题讨论】:

    标签: java json org.json


    【解决方案1】:

    json 库非常冗长,这应该可以满足您的需要:

    final JSONObject wrapper = new JSONObject();
    final JSONObject inner = new JSONObject();
    final JSONObject innersub1 = new JSONObject();
    innersub1.put("384", "250");
    innersub1.put("96", "450");
    final JSONObject innersub2 = new JSONObject();
    innersub2.put("384", "5");
    innersub2.put("96", "10");
    inner.put("TEST1", innersub1);
    inner.put("TEST2", innersub2);
    inner.put("TEST3", "256");
    inner.put("TEST4", "T");
    wrapper.put("TESTMAIN", inner);
    System.out.println(wrapper.toString());
    

    我建议您查看更现代的 JSON 库,例如 Gson 或 Jackson,因为它们让生活变得更简单!

    【讨论】:

      【解决方案2】:

      您需要JSONArray

      【讨论】:

      • 不,JSONArray 将创建方括号。他需要嵌套的 JSONObjects。
      【解决方案3】:

      您手动执行此操作有什么特别的原因吗?有一个用于 Java 的 JSON 库可以为您执行此操作。

      JSON in Java,它具有用于创建对象、数组等的 API。它还将序列化和反序列化 JSON。

      【讨论】:

      • 我使用json-simple,顾名思义——简单:)
      • 参见他们示例的第 2-3 节。这涵盖了如何使用 List 实现来添加数组。
      • 使用库形成上述 JSON 的任何示例代码。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多