gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:36:05 24 4
gpt4 key购买 nike

我正在尝试生成具有如下结构的 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?

最佳答案

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

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

关于Java:生成 JSON:尝试命名对象和数组时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53281346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com