问题描述
Dim response As Net.HttpWebResponse = request.GetResponse
Dim dataStream As IO.Stream = response.GetResponseStream()
Dim reader As New IO.StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
使用此代码从 responseFromServer 获取响应是这样的
"{ "RefNumber":"11b1b72d-84a2-4d97-9f3c-67fb6dc57210","Status":"S"}"
我需要将此json字符串转换为数据表。
解决方法
With Newtonsoft library "Json.NET"
您需要编辑 JSON 字符串,然后才能将 JSON 反序列化为数据集。
Here a working example on dotnetfiddle
Dim jsonString As String = "{""RefNumber"":""11b1b72d-84a2-4d97-9f3c-67fb6dc57210"",""Status"":""S""}"
jsonString = "{""YourTableName"": [" + jsonString + "] }"
Console.WriteLine(jsonString)
Dim ds As DataSet = JsonConvert.DeserializeObject(of DataSet)(jsonString)
Console.WriteLine("")
Console.WriteLine("## " + ds.Tables("YourTableName").TableName + " ##")
Console.WriteLine("-------------------")
Console.WriteLine("")
For Each r as DataRow in ds.Tables("YourTableName").Rows
Console.WriteLine(r("RefNumber").ToString() + " - " + r("Status").ToString())
next