为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉风的咖菲猫 2022-01-19 09:47:40
我正在尝试生成具有如下结构的 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?
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

此代码在您的问题中生成 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

您不能指定名称,因为对象和数组都是数组中的值。关键是将它们都包含在一个对象中,然后它们都可以(实际上,必须)有一个名称。


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信