2017-03-31 143 views
0

我有嵌套数组的JSON数据(请参见下面的示例)。我试图完成的是将这些数据反序列化成一个DataSet,其中每个嵌套数组都被插入到相应的数据表中。C#Newtsonsoft.Json - 将嵌套数组反序列化为DataTable

实施例:

[ 
{ 
    "Id": "1", 
    "LastName": "John", 
    "FirstName": "Doe", 
    "MiddleInitial": "I", 
    "DateOfBirth": "2000-10-05", 
    "Gender": "M", 
    "LastModifiedDate": "2017-03-13 14:36:53", 
    "Classes": [ 
     { 
      "ClassNumber": "21", 
      "TeacherID": "15" 
     }, 
     { 
      "ClassNumber": "12", 
      "TeacherID": "10" 
     } 
    ] 
}, 
{ 
    "Id": "2", 
    "LastName": "Jane", 
    "FirstName": "Doe", 
    "MiddleInitial": "K", 
    "DateOfBirth": "2000-10-05", 
    "Gender": "F", 
    "LastModifiedDate": "2017-03-13 14:36:53", 
    "Classes": [ 
     { 
      "ClassNumber": "11", 
      "TeacherID": "8" 
     }, 
     { 
      "ClassNumber": "4", 
      "TeacherID": "26" 
     } 
    ] 
}] 

所以该数据集将包含2个数据表。一个来自主数组的所有记录,另一个来自“Classes”数组的所有记录。

+1

目前还不清楚你有什么样的问题。请提供错误细节或预期/实际结果。当然还有一些代码 –

回答

0

你必须手动创建DataSet及其DataTables并手动填充它们。如果这就是你所期望的,那么没有自动的方法。如果您需要维护对象之间的关系,您必须为类添加外键,否则无法知道类属于哪个人。

表格列可以从JSON属性生成,当然,如果您对编写代码的方式足够小心,或者JSON结构始终如一。