DataContractJsonSerializer这是 .net 框架中添加的一个很好的类,可用于将对象序列化/反实现为 JSON。
下面是我正在尝试的例子
[Serializable] class User { public string name; public string userId; }
下面是生成的输出
输出:通知结构,其中只需要“name”而不是 k__BackingField
现在这就是经过深入挖掘后的问题,我不确定 <> 和 _BackingField 是从哪里来的?
{
"<name>k__BackingField":"test user",
"<userId>k__BackingField":100001}
最佳答案
这只是一个有根据的猜测。我认为这是因为您使用的是公共(public)字段而不是名称和用户 ID 的属性。
编辑:它似乎也与您使用 [Serializable] 属性而不是 [DataContract] 和 [DataMember] 这一事实有关。查看这篇文章了解更多详情:
关于c# - DataContractJsonSerializer 生成 Ghost 字符串到 JSON 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882059/