Java Minimal Json如何在一个对象中嵌套多个数组?

标签 java arrays json

我正在尝试在我的 java 项目中使用这个库 https://github.com/ralfstx/minimal-json

以下是如何使用它来创建对象和数组。

JsonObject jsonObject = new JsonObject().add( "name", "John" ).add( "age", 23 );
// -> { "name": "John", "age", 23 }

JsonArray jsonArray = new JsonArray().add( "John" ).add( 23 );
// -> [ "John", 23 ]

我正在尝试创建这样的东西

{"start":1234,"end":4321,"time":1000,"cmds":[["String",123],["String2",0],["String3",99999]]};

这是我尝试过的但没有编译

JsonObject jsonObject = new JsonObject().add("start", 1234).add("end", 848383).add("cmds", new JsonArray().add("test").add(1234), new JsonArray().add("test2").add(9594), new JsonArray().add("test6").add("down"));
System.out.println(jsonObject);

下面的编译效果很好。但它将所有内容保留为一个数组。

JsonObject jsonObject = new JsonObject().add("start", 1234).add("end", 848383).add("time", 1000).add("cmds", new JsonArray().add("test").add(1234).add("test2").add(9594).add("test6").add("down"));
System.out.println(jsonObject);


{"start":1234,"end":848383,"time":1000,"cmds":["test",1234,"test2",9594,"test6","down"]}

最佳答案

而不是:

new JsonArray().add("test").add(1234)
    .add("test2").add(9594)
    .add("test6").add("down")

创建一个包含 6 个元素的数组,您应该:

// new array,
new JsonArray()
    // add a new 2-element array in it,
    .add(new JsonArray().add("test").add(1234))
    // add a new 2-element array in it,
    .add(new JsonArray().add("test2").add(9594))
    // add a new 2-element array in it
    .add(new JsonArray().add("test6").add("down"))

关于Java Minimal Json如何在一个对象中嵌套多个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465618/

相关文章:

c - 显式忽略 NULL 值,但 C 的行为很奇怪

javascript - JSONP 与 XML 一起使用?

ios - 如何使用 swift 2.0 在嵌套字典数组 JSON 响应集合中移动

java - 在 tomcat 中部署 Spring Boot war 时,application.yml 文件应该放在哪里?

java - Guava 不可变版本的 LinkedHashMultimap?

java - 有什么理由不使用 git-masquerading-as-cvs 作为 cvs 的升级吗?

javascript - 递归数组反转 Javascript

c++ - 需要帮助理解列表容器

json - 收集 JSON 数组中的元素

java - Libgdx 无法为目标 linux 32 位加载共享库 gdx freetype,我该如何解决?