c# - 在 C# 中将 JSON 转换为数据集时出错
问题描述
我正在使用 JSON.Net 来检索以下 JSON 格式的数据。
{"Pagination":{"CurrentPage":1,"PageSize":20,"NumberOfPages":3796,"totalCount":75913},"Data":[{"SalesOrderNumber":"003119"},{"SalesOrderNumber" :"003336"},{"SalesOrderNumber":"003410"},{"SalesOrderNumber":"003520"}]}
我可以成功检索数据并将其加载到 C# 文本框中。我想要做的是将它加载到数据集中。我正在使用以下语句来尝试加载数据集。
DataSet dsSalesOrders = JsonConvert.DeserializeObject<DataSet>(response.Content);
当我运行程序时,我收到以下错误
Newtonsoft.Json.JsonSerializationException: '读取 DataTable 时出现意外的 JSON 令牌。预期 StartArray,得到 StartObject。路径“分页”,第 1 行,位置 15。
因为这是我第一次使用 JSON,我该如何解决这个问题?
谢谢
解决方案
尝试将此类作为接收类
public class YourMainObject
{
public Pagination Pagination { get; set; }
public Datum[] Data { get; set; }
}
public class Pagination
{
public int CurrentPage { get; set; }
public int PageSize { get; set; }
public int NumberOfPages { get; set; }
public int totalCount { get; set; }
}
public class Datum
{
public string SalesOrderNumber { get; set; }
}
并反序列化为此,然后分别填充数据集。
PS:在下面的讨论中,其他程序员建议您可能不需要使用 DataSet
推荐阅读
- python - 如何在python中使用朴素贝叶斯算法实现增量学习?
- android - 如何只返回可以由我的 3rd 方应用程序播放的视频?
- sql - 如何获得每个儿子递归 SQL 的古代父亲
- firebase - 超过 Firebase Auth API 配额时会发生什么
- iis - 如何指示 IIS 使用 web.config 中的环境变量来运行 .net 核心应用程序?
- python - 如何将表情符号添加到 Keras Tokenizer API?
- html - 如何通过单击(添加)按钮启用具有值的行
- python - 在 Windows 10 中从 subprocess.Popen python 在命令提示符中打开和编写命令
- node.js - 使用 Multer 的 Express 应用程序中的 Req.files 始终为空
- c# - 如何将参数和数据源同时传递给 rdlc 报告