【发布时间】:2015-12-28 05:39:50
【问题描述】:
我想将 json 字符串转换为 C# 数据表,并且我的 json 字符串包含另一个 json 字符串。 我不想转换内部 json 字符串(仅将其保留为字符串)。这是我的代码
string js = "[{\"FirstName\":\"first\",\"LastName\":\"second\",\"jsonStr\":\"[{\"abc\":\"a\",\"xyz\":\"x\"}]\"}]";
DataTable dt = (DataTable)JsonConvert.DeserializeObject(js, (typeof(DataTable)));
gv.DataSource = dt;
gv.DataBind();
但我收到一个错误
解析一个值后,遇到了一个意外字符:小路 '[0].jsonStr',第 1 行,位置 56。
【问题讨论】:
-
注意你的json是否有效?我只是将它粘贴在一个在线解析中,它显示你的 json 错误。其次,我不确定 Json Converter 是否知道如何使用 Json 创建数据库。您可能需要将 json 解析为一个对象,然后从对象通过定义列和行来创建您的数据表。
-
在字符串
\r\n中加入一些新行,行数比字符数更容易 -
请接受答案。它对其他人也有用。
标签: c# json datatable deserialization multi-level