JSON中单个字符串的JSON反序列化

标签 json vb.net http javascriptserializer

这是我从 HTTP 响应中收到的 JSON 字符串。

[{"ts":"1395318389","date":"2014-03-20","time":"12:26:21","nodeid":"1229001363","lat":"53.292425","lon":"-6.43203333333333","speed":"76","dir":"242","sv":"9","volt":"4187","rssi":"-69","us":"3","type":0,"net":"27202","height":"108","hdop":"9","cellid":"EB84","dd":6105,"ttf":"0","lac":"4E24","odo":"0","gle":"0"}]

我的类(class)是这样设置的

Friend Class SmartTrack_PostionList
    Public positionList As SmartTrack_Postion()
End Class

Friend Class SmartTrack_Postion
    Public ts As String
    Public [date] As String
    Public time As String
    Public nodeid As String
    Public lat As String
    Public lon As String
    Public speed As String
    Public dir As String
    Public sv As String
    Public volt As String
    Public rssi As String
    Public us As String
    Public type As String
    Public net As String
    Public height As String
    Public hdop As String
    Public cellid As String
    Public dd As String
    Public ttf As String
    Public lac As String
    Public odo As String
    Public gle As String
End Class

我试过下面几行代码,但都没有用

Dim ser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim getPositionList As SmartTrack_PostionList = DirectCast(ser.Deserialize(Of SmartTrack_PostionList)(getResult.ToString), SmartTrack_PostionList)

Dim ser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim getPositionList As SmartTrack_Postion= DirectCast(ser.Deserialize(Of SmartTrack_Postion)(getResult.ToString), SmartTrack_Postion)

这确实有效,但我认为这是糟糕的编码。

Dim ser As New System.Web.Script.Serialization.JavaScriptSerializer
getResult = getResult.Replace("[", "")
getResult = getResult.Replace("]", "")
Dim dict As Dictionary(Of String, String) = ser.Deserialize(Of Dictionary(Of String, String))(getResult)

如果有任何帮助,我将不胜感激,谢谢。

吉姆

最佳答案

您必须将 JSON 字符串反序列化为 List(Of SmartTrack_Position),例如

Dim ser = New System.Web.Script.Serialization.JavaScriptSerializer
Dim json = getResult.ToString()
Dim getPositionList = ser.Deserialize(Of List(Of SmartTrack_Postion))(json)

关于JSON中单个字符串的JSON反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22533717/

相关文章:

json - Jolt Transformation - 替换 json 上的文本

json - 使用 Rxjs 不同运算符将整个对象与嵌套进行比较

java - 如何指定 Jackson 仅使用字段 - 最好是全局的

http - 每个服务器的并发HTTP/1.1连接的默认值的官方引用?

http - 如何在asp classic中获取作为正文发布的值的内容?

ruby-on-rails - Rails 集合到嵌套 json

.net - 对一个 DataGridView 列使用两个不同 DataRow.Columns 的值

c# - 具有值类型和引用类型的对象将如何存储在 .NET 中?

vb.net - 获取 Active Directory 中的所有用户

http - 浏览器的状态如何导致服务器发送 404 错误?