1
我想创建一个电报机器人是VB.NET,并且在解析JSON时遇到了麻烦。首先,这里是我从电报获得JSON的例子:VB.NET解析JSON - 电报
{
"ok": true,
"result": [
{
"update_id": 999999999,
"message": {
"message_id": 99,
"from": {
"id": 999999999,
"first_name": "Adam",
"last_name": "Taveirne",
"username": "xxxxxxxxxxxxxx",
"language_code": "en-US"
},
"chat": {
"id": 99999999,
"first_name": "Adam",
"last_name": "Taveirne",
"username": "xxxxxxxxxxx",
"type": "private"
},
"date": 1500281934,
"text": "Hello"
}
}
]
}
我努力找到对其进行解析时采用以下格式此JSON帮助。每当我尝试解析结果数组时,我都会得到一个“无法反序列化当前JSON数组”的错误。
我已经尝试了很多不同的代码,并得到类似的错误,但是这是我最近尝试的样子:
Sub Main()
//Crap cut out here...
Dim obj = JsonConvert.DeserializeObject(Of MyTeleJSON)(json)
End Sub
Public Class MyTeleJSON
Public Property ok As String
Public Property result As MyTeleUpdates
End Class
Public Class MyTeleUpdates
Public Property update_id As String
Public Property message_id As String
Public Property id As String
Public Property first_name As String
Public Property last_name As String
Public Property username As String
Public Property text As String
Public Property ok As String
End Class
可能有人请点我在正确的方向请我真的努力与这个JSON的东西!
非常感谢
亚当
请注意,你的JSON有一个'message'属性,你的一堆属性应该在里面。如果您在使用可视化类来匹配某些JSON时遇到问题,则可以使用像[jsonutils](https://jsonutils.com/)这样的工具。例如,给定你的JSON,它会生成5个类来正确保存它。 –
我也尝试了5个类,并得到相同的消息...这对我来说没有意义,因为我真的不明白JSON。 –
“无法将当前JSON数组反序列化为类型'x.Module1 + MyTeleUpdates',因为该类型需要JSON对象(例如{”“name”“:”“value”“})才能正确反序列化。 &vbCrLf&“要解决此错误,请将JSON更改为JSON对象(例如{”“name”“:”“value”“})或将反序列化类型更改为实现集合接口的数组或类型ICollection,IList),如列表,可以从JSON数组中反序列化。JsonArrayAttribute也可以添加到类型中,以强制它从JSON数组反序列化。 &vbCrLf&“Path'result',line 1,position 21.” –