Json 带有重复标记的数组
Json array with repeating tag
我有以下 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 对象具有名称和值的属性,其中值可以是另一个 object\array\primitive 值。
Json 数组包含其他 objects\arrays\primitives 没有名字。
Json 你的问题违反了以上两项。
{
[...]
}
无效,因为没有属性名称。如果你想把数组放在对象中,你必须给它命名:
{
"MyArray": [...]
}
然后
[
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
}
]
无效,因为数组只是未命名值的列表,而您尝试命名其条目。
我能想到的最接近您想要的是对象数组,其中每个对象包含带标签的命名 属性,并且该标签对象包含属性:
[
{ "OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2"
}
}
]
我有以下 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 对象具有名称和值的属性,其中值可以是另一个 object\array\primitive 值。
Json 数组包含其他 objects\arrays\primitives 没有名字。
Json 你的问题违反了以上两项。
{
[...]
}
无效,因为没有属性名称。如果你想把数组放在对象中,你必须给它命名:
{
"MyArray": [...]
}
然后
[
"OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2",
}
]
无效,因为数组只是未命名值的列表,而您尝试命名其条目。
我能想到的最接近您想要的是对象数组,其中每个对象包含带标签的命名 属性,并且该标签对象包含属性:
[
{ "OBECT_TAG":
{
"PROPERTY1" : "value1",
"PROPERTY2" : "value2"
}
}
]