【问题标题】:How to parse nested JSON array to dataset?如何将嵌套的 JSON 数组解析为数据集?
【发布时间】:2018-07-30 03:26:11
【问题描述】:
"Data": [
    {
       "Code": "DEMO",
       "Name": "DEMO",
       "UserId": "B27A68AD-7C21-4DDB-8A1D-8932459CF53B",
       "RoleDetails": [{
            "ViewId": "B27A68AD-7C21-4DDB-8A1D-8932459CF53B",
            "IsAddAllowed": true,
            "IsEditAllowed": true,
            "IsDeleteAllowed": true
        }],
        "RoleDetails1":[ {
            "ViewId": "B27A68AD-7C21-4DDB-8A1D-8932459CF53B",
            "IsAddAllowed": true,
            "IsEditAllowed": true,
            "IsDeleteAllowed": true
          }]

    }
]

我有这个 JSON 数组,我想将其转换为 DataSet,并为 JSON 中的每个属性提供 DataTable。

【问题讨论】:

  • 你有没有尝试过,还是先问问题?
  • RoleDetails 和 RoleDetails1 是两个单独的属性或List<Role>?
  • 它们是两个不同的属性
  • 欢迎来到 Stack Exchange @Kunalsingh。请阅读“How do I ask a good question”文章。这是一个很好的起点。

标签: c# json


【解决方案1】:

这是一种使用 Cinchoo ETL 将 JSON 转换为数据集的简单方法 - 一个开源库

string json = @"{
""Data"": [
{
""Code"": ""DEMO"",
""Name"": ""DEMO"",
""UserId"": ""B27A68AD-7C21-4DDB-8A1D-8932459CF53B"",
""RoleDetails"": [{
""ViewId"": ""B27A68AD-7C21-4DDB-8A1D-8932459CF53B"",
""IsAddAllowed"": true,
""IsEditAllowed"": true,
""IsDeleteAllowed"": true
}],
""RoleDetails1"":[ {
""ViewId"": ""Z27A68AD-7C21-4DDB-8A1D-8932459CF53B"",
""IsAddAllowed"": true,
""IsEditAllowed"": true,
""IsDeleteAllowed"": true
}]
}
]
}";

var dt1 = ChoJSONReader.DeserializeText(json, "$.Data[0].RoleDetails").AsDataTable();
var dt2 = ChoJSONReader.DeserializeText(json, "$.Data[0].RoleDetails1").AsDataTable();

DataSet ds = new DataSet();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多