gpt4 book ai didi

c# - 带有重复标记的 Json 数组

转载 作者:太空宇宙 更新时间:2023-11-03 19:43:41 28 4
gpt4 key购买 nike

我有以下 json:

{
"OBECT_TAG":
[
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
},
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
},
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
}
]
}

我希望为数组中的每个对象重复 OBJECT_TAG。我试过了,但在 C# 中反序列化失败了。它是否符合 json 标准或如何使其符合标准?

{
[
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
},
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
},
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
}
]
}

这样做的原因(如有必要)是对象变得非常大且具有许多级别,因此在手动编辑时可以轻松识别每个主要对象的起始位置,同时将其保持为数组并轻松进行 C# 对象反序列化。

编辑:保留根对象很重要

最佳答案

Json 对象具有名称和值的属性,其中值可以是另一个对象\数组\原始值。

Json 数组包含其他没有名称的对象\数组\基元。

您问题中的 Json 违反了上述两项。

{
[...]
}

无效,因为没有属性名。如果你想把数组放在对象中,你必须给它命名:

{
"MyArray": [...]
}

然后

[
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
}
]

无效,因为数组只是未命名值的列表,而您尝试命名其条目。

我能想到的最接近您想要的是对象数组,其中每个对象包含带标签的命名属性,并且该标签对象包含属性:

[
{ "OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2"
}
}
]

关于c# - 带有重复标记的 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49250070/

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