C# Json反序列化字符串错误 private void ExmpDatasave() { 数据集=新数据集(“数据集”); dataSet.Namespace=“NetFrameWork”; DataTable=新的DataTable(); DataColumn idColumn=新的DataColumn(“id”,typeof(int)); idColumn.AutoIncrement=true; DataColumn itemColumn=新的DataColumn(“项目”); table.Columns.Add(idColumn); table.Columns.Add(itemColumn); dataSet.Tables.Add(表); 对于(int i=0;i
嘿,这是我的简短代码C# Json反序列化字符串错误 private void ExmpDatasave() { 数据集=新数据集(“数据集”); dataSet.Namespace=“NetFrameWork”; DataTable=新的DataTable(); DataColumn idColumn=新的DataColumn(“id”,typeof(int)); idColumn.AutoIncrement=true; DataColumn itemColumn=新的DataColumn(“项目”); table.Columns.Add(idColumn); table.Columns.Add(itemColumn); dataSet.Tables.Add(表); 对于(int i=0;i,c#,json,C#,Json,嘿,这是我的简短代码ExmpDatasave()用于在json中保存整个数据,效果很好ExmpDataread给出错误: 读取数据集时出现意外结束。路径“”,第1行,位置78 我的json值“{\”Table1\”:[{\'id\':0,\'item\':\'item 0\'},{\'id\':1,\'item\':\'item 1\'}]} 请帮我弄清楚。先谢谢你 我经历了这个问题,虽然我没有足够的悟性来解决这个问题,但我还是能够解决它,而且我认为这会更好 我决定使用Newtonsoft.Js
ExmpDatasave()
用于在json中保存整个数据,效果很好<代码>ExmpDataread给出错误:
读取数据集时出现意外结束。路径“”,第1行,位置78
我的json值“{\”Table1\”:[{\'id\':0,\'item\':\'item 0\'},{\'id\':1,\'item\':\'item 1\'}]}
请帮我弄清楚。先谢谢你 我经历了这个问题,虽然我没有足够的悟性来解决这个问题,但我还是能够解决它,而且我认为这会更好 我决定使用Newtonsoft.Json.Linq;得到类似的结果
private void ExmpDatasave()
{
DataSet dataSet = new DataSet("dataSet");
dataSet.Namespace = "NetFrameWork";
DataTable table = new DataTable();
DataColumn idColumn = new DataColumn("id", typeof(int));
idColumn.AutoIncrement = true;
DataColumn itemColumn = new DataColumn("item");
table.Columns.Add(idColumn);
table.Columns.Add(itemColumn);
dataSet.Tables.Add(table);
for (int i = 0; i < 2; i++)
{
DataRow newRow = table.NewRow();
newRow["item"] = "item " + i;
table.Rows.Add(newRow);
}
dataSet.AcceptChanges();
string json = JsonConvert.SerializeObject(dataSet, Formatting.None);
Helper.WriteToJson(json);
}
private void ExmpDataread()
{
using (StreamReader r = new StreamReader("exmp.json"))
{
string json = r.ReadToEnd();
var myJSONString = json.ToString();
DataSet dataSet = JsonConvert.DeserializeObject<DataSet>(json);
DataTable dataTable = dataSet.Tables["Table1"];
Console.WriteLine(dataTable.Rows.Count);
}
}
我不认为这是一个完整的答案,因为我从来没有弄清楚为什么它给出错误时,一切都说它不应该。但是我很高兴找到了这条路,所以我希望这条路对我有所帮助。我经历了这个问题,虽然我没有足够的悟性来解决这个问题,但我还是能够解决它,而且我认为这会更好 我决定使用Newtonsoft.Json.Linq;得到类似的结果
private void ExmpDatasave()
{
DataSet dataSet = new DataSet("dataSet");
dataSet.Namespace = "NetFrameWork";
DataTable table = new DataTable();
DataColumn idColumn = new DataColumn("id", typeof(int));
idColumn.AutoIncrement = true;
DataColumn itemColumn = new DataColumn("item");
table.Columns.Add(idColumn);
table.Columns.Add(itemColumn);
dataSet.Tables.Add(table);
for (int i = 0; i < 2; i++)
{
DataRow newRow = table.NewRow();
newRow["item"] = "item " + i;
table.Rows.Add(newRow);
}
dataSet.AcceptChanges();
string json = JsonConvert.SerializeObject(dataSet, Formatting.None);
Helper.WriteToJson(json);
}
private void ExmpDataread()
{
using (StreamReader r = new StreamReader("exmp.json"))
{
string json = r.ReadToEnd();
var myJSONString = json.ToString();
DataSet dataSet = JsonConvert.DeserializeObject<DataSet>(json);
DataTable dataTable = dataSet.Tables["Table1"];
Console.WriteLine(dataTable.Rows.Count);
}
}
我不认为这是一个完整的答案,因为我从来没有弄清楚为什么它给出错误时,一切都说它不应该。但是我很高兴找到了这条路,所以我希望它能有所帮助\“也是json数据的一部分吗?如果是,那么它是无效的JSONI不知道为什么它会出现“\”,所以首先确保您有有效的JSONvalue@AndréSchild它是JSON字符串的C字符串表示形式,如果您将其作为常量编写,它是完全有效的。如果这就是文件内容的样子,那么就有问题了,但是上面发布的代码在我的PC上生成了正确的数据,并从字符串中复制了datatable。与我完美配合。是否\“也是json数据的一部分吗?如果是,那么它是无效的JSONI不知道为什么它会出现“\”,所以首先确保您有有效的JSONvalue@AndréSchild它是JSON字符串的C字符串表示形式,如果您将其作为常量编写,它是完全有效的。如果这就是文件内容的样子,那么就有问题了,但是上面发布的代码在我的PC上生成了正确的数据,并从字符串中复制了datatable。与我完美合作。