Java:生成 JSON:尝试命名对象和数组时出现异常

我正在尝试生成具有如下结构的 JSON:


 "rows": [

    {

        "object": {

            "id": "1"

        },

        "values": [

            "111",

            "reg text",

            "11"

        ]

    }

]

这是代码:


.writeStartObject()        

.writeStartArray("rows")

    .writeStartObject()       //here i can`t name the object

    .write("id", "'1'@1000")

    .writeEnd()

        .writeStartArray()    //here i can`t name the array

            .write("fax")

            .write("646 555-4567")

        .writeEnd()

.writeEnd()

.writeEnd();

当我尝试在括号内添加对象和数组标题时,出现异常“JSON 生成期间的非法方法,在当前上下文 IN_ARRAY 中无效”。如何生成像我这样的 JSON?


拉风的咖菲猫
浏览 184回答 1
1回答

凤凰求蛊

此代码在您的问题中生成 JSON 输出:generator.writeStartObject()    .writeStartArray("rows")        .writeStartObject()            .writeStartObject("object")                .write("id", "1")            .writeEnd()            .writeStartArray("values")                .write("111")                .write("reg text")                .write("11")            .writeEnd()        .writeEnd()    .writeEnd().writeEnd();第一个开始是数组writeStartObject内的匿名对象。rows第二个writeStartObject产生:"object": {    [...]}关于您的评论:.writeStartObject()       //here i can`t name the object[...]    .writeStartArray()    //here i can`t name the array您不能指定名称,因为对象和数组都是数组中的值。关键是将它们都包含在一个对象中,然后它们都可以(实际上,必须)有一个名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java