DataContractJsonSerializer生成Ghost字符串到JSON键?

DataContractJsonSerializer这是在.net框架中添加的好类,可用于将对象序列化/期望化为JSON。

以下是我正在尝试的示例

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

现在以下是生成的输出

输出:通知结构,其中只需要“name”而不是k__BackingField

现在这是挖掘之后的问题,我不确定和_BackingField的来源?

 { "k__BackingField":"test user", "k__BackingField":100001} 

这只是一个有根据的猜测。 我认为这是因为你使用公共字段而不是name和userid的属性。

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

C#自动对JSON进行反序列化