DataContractJsonSerializer这是在.net框架中添加的一个不错的类,可用于将对象序列化/反序列化为JSON.
现在下面是我正在尝试的示例
[Serializable] class User { public string name; public string userId; }
现在下面是生成的输出
输出:通知结构,其中仅预期“名称”而不是k__BackingField
现在这是挖了那么多后的问题,我不确定从哪里<>和_BackingField即将到来?
{
"<name>k__BackingField":"test user",
"<userId>k__BackingField":100001}
解决方法:
这只是有根据的猜测.我认为这是因为您使用的是公共字段,而不是name和userid的属性.
编辑:看来这也与您使用[Serializable]属性而不是[DataContract]和[DataMember]有关.查看此帖子以获取更多详细信息:
C# automatic property deserialization of JSON