【发布时间】:2014-06-12 09:15:49
【问题描述】:
我有以下 JSON 负载:
{
"id": 1,
"foo": "bar",
"bar": "foo",
"attr_1": ["foo", "bar"],
"attr_2": ["foo2", "bar2"]
}
我还有以下 CLR 对象:
public class Obj
{
public int Id { get; set; }
public string Foo { get; set; }
public string Bar { get; set; }
[JsonExtensionData]
public IDictionary<string, string[]> Properties { get; set; }
}
如果我尝试反序列化它,它会失败:
using (FileStream file = File.Open(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "file.txt"), FileMode.Open))
using (StreamReader reader = new StreamReader(file))
{
Obj foo = JsonConvert.DeserializeObject<Obj>(reader.ReadToEnd());
}
There is already an answer to a similar question。但是,一个一个地读写每个字段并不是一个解决方案。我将剩余字段反序列化为IDictionary<string, string[]> 的最佳方法是什么?
【问题讨论】: