简单的工作json.net的例子在VB.net
发布时间:2020-12-16 19:52:04  所属栏目:百科  来源:网络整理 
            导读:我有一个提供者以下简化的 JSON字符串,自从我使用Visual Studio和vb.Net以来已经很久了,所以我很生锈! {"Venue": { "ID": 3145,"Name": "Big Venue,Clapton","NameWithTown": "Big Venue,Clapton,London","NameWithDestination": "Big Venue,"ListingType":
                
                
                
            | 
                         
 我有一个提供者以下简化的 
 JSON字符串,自从我使用Visual Studio和vb.Net以来已经很久了,所以我很生锈! 
  
  
  
{
"Venue": {
    "ID": 3145,"Name": "Big Venue,Clapton","NameWithTown": "Big Venue,Clapton,London","NameWithDestination": "Big Venue,"ListingType": "A","Address": {
        "Address1": "Clapton Raod","Address2": "","Town": "Clapton","County": "Greater London","Postcode": "PO1 1ST","Country": "United Kingdom","Region": "Europe"
    },"ResponseStatus": {
        "ErrorCode": "200","Message": "OK"
    }
}
} 
 我想使用JSON.Net将其转换为我可以使用的东西,我已经阅读了示例等,JSON.net看起来像答案,但我没有在哪里. 我的.Net代码(Me.TextBox1.Text包含上面显示的JSON) Imports Newtonsoft.Json
Public Class Form1
Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
    Dim obj As JSON_result
    obj = JsonConvert.DeserializeObject(Of JSON_result)(Me.TextBox1.Text)
    MsgBox(obj.ID)
End Sub
End Class
Public Class JSON_result
    Public ID As Integer
    Public Name As String
    Public NameWithTown As String
    Public NameWithDestination As String
    Public ListingType As String
 End Class 
 有人可以解释为什么obj.ID总是以0的形式出现,为什么我的类的其他属性都没有被填充,我需要做什么来解决这个问题,没有报错. 
 您的类JSON_result与您的JSON字符串不匹配.请注意,JSON_result对象将如何包含在另一个名为“Venue”的属性中. 
  
                          所以要创建一个类,例如: Public Class Container
    Public Venue As JSON_result
End Class
Public Class JSON_result
    Public ID As Integer
    Public Name As String
    Public NameWithTown As String
    Public NameWithDestination As String
    Public ListingType As String
End Class
Dim obj = JsonConvert.DeserializeObject(Of Container)(...your_json...) 
 或将JSON字符串更改为 {
    "ID": 3145,"Message": "OK"
    }
} 
 或使用例如一个ContractResolver来解析JSON字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
