使用JSON.NET反序列化时控制数组中对象的目标类型

时间:2014-02-15 04:01:30

标签: json.net

下面有一个JSON数组

[{ "name" : "XX", "age" : 20}, { "company" : "YY", "post" : "XXX"} , ...]

我想将它反序列化为object[],但我想控制数组中元素的实际类型为特定类的实例

class A{
  public string name;
  public int age;
}

class B{
  public string company;
  public string post;
}

这样我就可以通过(A)array[0](B)array(1)

获取对象了

THX

1 个答案:

答案 0 :(得分:0)

我以这种方式找到了

using( StringReader sr = new StringReader(json))
using( JsonTextReader reader = new JsonTextReader(sr) )
{
    JArray array = JArray.Load(reader);

    array[0].ToObject<A>();
    array[1].ToObject<B>();
}