【发布时间】:2013-03-05 07:23:03
【问题描述】:
我有一个json字符串,例如
{"timestamp":1362463455, "features" : {"one":true, "two":false}}
我想用DataContractJsonSerializer 将它反序列化到我的班级:
[DataContract]
public class MyClass
{
[DataMember(Name = "timestamp")]
public int Timestamp { get; set; }
[DataMember(Name = "features")]
public Dictionary<string, bool> Features { get; set; }
}
但我在处理过程中有一个错误"ArgumentException"。我在反序列化Dictionary 时遇到问题,如果仅反序列化时间戳,那么我没有错误。我认为这是最适合这个的字典结构。但它不起作用。我检查了this answer on SO,但Dictionary<string, object> 也不起作用。
也许是因为在示例中使用:
DataContractJsonSerializerSettings settings =
new DataContractJsonSerializerSettings();
settings.UseSimpleDictionaryFormat = true;
但我不能在 Windows Phone 中使用DataContractJsonSerializerSettings。
对不起,如果我的问题是双重的。
提前感谢。
【问题讨论】:
-
你找到答案了吗?
-
是的,现在我使用 Json.NET james.newtonking.com/json。 JsonConvert.DeserializeObject
(json);
标签: c# json windows-phone-7 dictionary deserialization