【问题标题】:Convert json string to datatable using C#.NET?使用 C#.NET 将 json 字符串转换为数据表?
【发布时间】:2016-07-10 15:42:13
【问题描述】:

当我传递整数值时,然后将 JsonData 转换为 Datatable .. 当我传递十进制值时,我收到错误.. 输入字符串的格式不正确。无法将 存储在增值税列中。

 var dt1 = JsonConvert.DeserializeObject<DataTable>(jsonData);

这是我的 JSON 数据 [{"Stateid":1,"VAT":0,"CST":0}, {"Stateid":2,"增值税":"1.5","CST":"1.5"}, {"Stateid":3,"VAT":0,"CST":0},{"Stateid":4,"VAT":0,"CST":0},{"Stateid":5,"VAT" :0,"CST":0},{"Stateid":6,"VAT":0,"CST":0},{"Stateid":7,"VAT":0,"CST":0}, {"Stateid":8,"VAT":0,"CST":0},{"Stateid":9,"VAT":0,"CST":0},{"Stateid":10,"VAT" :0,"CST":0},

【问题讨论】:

  • 这个数据表是什么?
  • 我需要将数据放入DataTable
  • 我可以看看您是如何创建数据表列的吗?
  • Stateid,VAT,CST..我正在使用 Angular JS..这里是 Scope 中的值
  • 没关系,VAT 列的数据类型是什么?

标签: asp.net json c#-4.0 datatable


【解决方案1】:
protected void Page_Load(object sender, EventArgs e)
    {
        string jsonData = "[{\"Stateid\":1,\"VAT\":\"0\",\"CST\":\"0\"}, {\"Stateid\":2,\"VAT\":\"1.5\",\"CST\":\"1.5\"}, {\"Stateid\":3,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":4,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":5,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":6,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":7,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":8,\"VAT\":\"0\",\"CST\":\"0\"},{\"Stateid\":9,\"VAT\":\"0\",\"CST\":\"0\"}]" ;
        var dt = JsonConvert.DeserializeObject<DataTable>(jsonData);
    }

我发现您的增值税在第一条记录中标记为 int,但随后在字符串中标记为 1.5,因此它给您错误

所以我将所有数据转换为字符串并尝试完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2011-02-28
    相关资源
    最近更新 更多