您的位置:首页 > Web前端 > JavaScript

.net 关于JSON转换为对象时出现的:数据协定类型 “***”无法反序列化,因为未找到必需的数据成员 **(字段名)

2012-04-18 16:09 531 查看
[System.Runtime.Serialization.DataMember(Name = "appPicPath")]

关于使用 DataContractJsonSerializer 把json字符串序列化成 .net类对象 出现数据协定类型 “***”无法反序列化,因为未找到必需的数据成员 **(字段名)的解决方案

看代码

public Test{
private string a;
public string A{get ; set ;}
}


将其改为:
public Test{
public string A ;

}



此上代码借于 http://www.cnblogs.com/vs-bug/archive/2011/03/01/1967901.html  

做了以上修改后转换时,异常消除。
这应该是编译后 a 后会自动添加k__BackingField 这样的字样。具体原因,我也无法解释,

解决方案二:

貌似还有一种 解决方案,但为证实
public Test{
[System.Runtime.Serialization.DataMember(Name = "A")]
public string A {get ; set;};

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json .net string
相关文章推荐