【发布时间】:2019-01-04 16:15:41
【问题描述】:
我正在尝试编写一个通用方法,它将采用 JSON 字符串并将其转换为 DataTable(它可以做到的最好的)。
在遇到具有数组作为属性之一的 JSON 对象之前,它可以正常工作。
我想做的是忽略数组的属性并尽可能地进行转换。
我有一个示例小提琴来解释我正在尝试做的事情: https://dotnetfiddle.net/cgkNov
public static void Main()
{
const string JsonObject = @"[{Id:""672af604-495b-4dc0-933e-6c55f56bef82"",""Name"":""1"",""MyArray"":[]}]";
const string EndResultJsonObject = @"[{Id:""672af604-495b-4dc0-933e-6c55f56bef82"",""Name"":""1""}]";
var settings = new JsonSerializerSettings
{
Error = (obj, args) =>
{
var context = args.ErrorContext;
context.Handled = true;
}
};
var a = JsonConvert.DeserializeObject<DataTable>(JsonObject, settings);
Console.WriteLine(JsonConvert.SerializeObject(a));
a = JsonConvert.DeserializeObject<DataTable>(EndResultJsonObject, settings);
Console.WriteLine(JsonConvert.SerializeObject(a));
}
谢谢, 亚历克斯
【问题讨论】:
标签: c# json datatable json.net