如何使用DataContractJsonSerializer反序列化字典?我有以下模型:[DataContract]publicclassMessageHeader{privateGuid?消息编号;publicGuidMessageId{get{if(messageId==null)messageId=Guid.NewGuid();返回messageId.Value;}}[DataMember]publicstringObjectName{get;放;}[DataMember]公共字典参数{get;放;}//不能反序列化这个[DataMember]publicActionAction{get;放;}[DataMember]publicUserInitiatingUser{get;放;现在由于某些未知原因DataContractJsonSerializer无法将JSON反序列化为字典(请参阅其他详细信息部分)。不幸的是,DataContractJsonSerializer也因为我以外的原因而被存档。我需要一种方法来解决它,有人知道吗?由于javascript中没有字典类型,因此很难将JSON解析为一个。您所要做的就是自己编写一个转换器。然而,大多数自定义序列化对象也是如此,所以希望这不是一个大惊喜。现在它应该作为KeyValuePair读入,所以你可以试试看它是否至少为你反序列化它。相反,你需要一个List>whatisDictionary来转换成JSON:vardict=newDictionary;dict["Red"]="Rosso";字典["蓝色"]="蓝色";dict["Green"]="Verde";[{"Key":"Red","Value":"Rosso"},{"Key":"Blue","Value":"Blu"},{"Key":"Green","Value":"Verde"}]从javascript到JSON的相同关联:vara={};a["红色"]="红红";a["蓝色"]="蓝色";a["绿色"]="佛得角";{"Red":"Rosso","Blue":"Blu","Green":"Verde"}简而言之,这就是问题所在。一些有用的后续链接http://my6solutions.com/post/2009/06/17/The-serialization-and-deserialization-of-the-generic-Dictionary-via-the-DataContractJsonSerializer.aspxhttp://msdn。microsoft.com/en-us/library/system.runtime.serialization.collectiondatacontractattribute.aspx以上是C#学习教程:HowtouseDataContractJsonSerializertodeserializeadictionary?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
