【问题标题】:DataContractJsonSerializer generating Ghost string to JSON keys?DataContractJsonSerializer 生成 Ghost 字符串到 JSON 键?
【发布时间】:2010-05-21 12:37:39
【问题描述】:

DataContractJsonSerializer 这是 .net 框架中添加的不错的类,可用于将对象序列化/去实化为 JSON。

下面是我正在尝试的示例

[Serializable] class User { public string name;     public string userId; }

下面是生成的输出

输出:注意结构,其中只有“名称”而不是 k__BackingField

现在这就是挖掘了这么多我不确定 和 _BackingField 是从哪里来的问题?

{
"<name>k__BackingField":"test user",
"<userId>k__BackingField":100001}

【问题讨论】:

    标签: c# asp.net json serialization


    【解决方案1】:

    这只是一个有根据的猜测。我认为这是因为您使用公共字段而不是名称和用户 ID 的属性。

    编辑:它似乎也与您使用 [Serializable] 属性而不是 [DataContract] 和 [DataMember] 的事实有关。查看这篇文章了解更多详情:

    C# automatic property deserialization of JSON

    【讨论】:

    • 感谢您的回答........我发现 C# 3.0 的隐式属性导致了它,因为编译器为此添加了代码。这会在序列化发生时得到体现。
    猜你喜欢
    • 2019-05-22
    • 1970-01-01
    • 2014-01-15
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多