c# - DataContractJsonSerializer 生成 Ghost 字符串到 JSON 键?

标签 c# asp.net json serialization

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# automatic property deserialization of JSON

关于c# - DataContractJsonSerializer 生成 Ghost 字符串到 JSON 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882059/

相关文章:

arrays - 在 Swift 4 中将 Json 对象转换为数组格式

c# - Entity Framework 自动生成 GUID

c# - 在新的 Azure Functions 项目中重复 'System.Reflection.AssemblyCompanyAttribute' 属性

c# - Webapi 计算特定的获取请求

json - _CastError(类型 '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型转换中类型 'Map<String, dynamic>' 的子类型)

mysql - JSON.stringify 字符串是否可以防止 (My)SQL 注入(inject)?

c# - WebApi 可以有一个端点并根据发送的对象做一些不同的事情吗

c# - 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

asp.net - 使用发布和 .dll .编译文件部署 ASP.NET 网站

c# - 在浏览器中显示word/pdf/excel等文件。 (Asp.net, C#.net 2008)