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

时间:2014-03-17 21:18:12

标签: 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"]}

1 个答案:

答案 0 :(得分:1)

而不是:

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