【发布时间】:2019-08-10 19:17:44
【问题描述】:
我正在寻找构造一个 C# 对象来生成以下 JSON 数组:
["Key":"SomeKeyValue", "Key":"SomeKeyValue"]
使用列表为我提供了我想要的数组,但在生成的 Json 中有一个对象名称:
Public Class SomeOtherClass
{
public string Key {get; set;}
}
Public Class SomeObject
{
public List<SomeOtherClass> PropertyName { get; set; }
}
// JSON
{"PropertyName":[ {"Key":"SomeValue"} ] }
我需要在生成的 JSON 中删除对象的名称。使用字典给了我我所追求的东西,但使用 JSON 中的 Object 语法 {} 而不是 Array []:
{
...
}
尽可能避免自定义序列化程序和合同。我确定NewtonSoft在这里一定有一些神奇的属性?
在网上找到了一些相关的问题,但没有解决删除属性名称的问题。有什么建议吗?
【问题讨论】:
-
您无法生成此 JSON 数组,因为它甚至不是有效的 JSON 数组。
-
将此示例转换为 Dictionary 会使两个“Key”值发生冲突,因此我认为转换为 List 可能会更好。见:stackoverflow.com/questions/39999420/…
-
需要匹配XML版本:
<ClassName> <!--Zero or more repetitions:--> <key>value</key> </ClassName> -
JSON 数组没有键,只有值。见json.org
标签: c# serialization json.net deserialization