【问题标题】:Converting a JSON string to a VB DataTable (Newtonsoft.Json)将 JSON 字符串转换为 VB 数据表 (Newtonsoft.Json)
【发布时间】:2012-02-16 18:12:59
【问题描述】:

我的字符串是这样的

[{'Column1': 'c1r1', 'Column2': 'c2r1'},{'Column1': 'c1r2', 'Column2': 'c2r2'}]

我想在 Visual Basic 中将其设为包含“第 1 列”和“第 2 列”列的数据表。我试过了

Newtonsoft.Json.JsonConvert.DeserializeObject(SaveTableJSON, GetType(System.Data.DataTable))

但它会产生错误

Newtonsoft.Json.JsonSerializationException: Additional text found in JSON string after finishing deserializing object.

这很好用:

Newtonsoft.Json.JsonConvert.DeserializeObject(SaveTableJSON)

【问题讨论】:

  • 将其更改为 GetType(System.Data.DataTable) 而不是 DataSet 会发生什么?
  • @NoAlias:同样的事情。这实际上就是我想要做的就是把它变成一个DataTable。我更新了以上内容。
  • CType(Newtonsoft.Json.JsonConvert.DeserializeObject(SaveTableJSON), System.Data.DataTable) 呢?

标签: vb.net json serialization datatable json.net


【解决方案1】:

尝试使用TryCast
试试这个功能

 Public Function DeserializeDataTable(json As String) As DataTable
        Dim dt As DataTable
        dt = TryCast(JsonConvert.DeserializeObject(json, (GetType(DataTable))), DataTable)
        Return dt
 End Function

取自网络:)

【讨论】:

  • DeserializeObject 发生错误。在反序列化错误之后尝试将其转换为 DataTable 不会有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多