Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用newtonsoft获取所有json值_Vb.net_Json.net - Fatal编程技术网

Vb.net 如何使用newtonsoft获取所有json值

Vb.net 如何使用newtonsoft获取所有json值,vb.net,json.net,Vb.net,Json.net,我很难理解所有的JSON值​​很抱歉,有人能帮我吗? 我只得到一个值,我哪里出错了 我的密码 Dim address As String = "http://wsloterias.azurewebsites.net/api/sorteio/getresultado/1" Dim client As WebClient = New WebClient() Dim reader As StreamReader = New StreamReader(client.OpenRead(address))

我很难理解所有的JSON值​​很抱歉,有人能帮我吗? 我只得到一个值,我哪里出错了

我的密码

Dim address As String = "http://wsloterias.azurewebsites.net/api/sorteio/getresultado/1"
Dim client As WebClient = New WebClient()
Dim reader As StreamReader = New StreamReader(client.OpenRead(address))
Dim json = (reader.ReadToEnd)

Dim objs As RootObject = JsonConvert.DeserializeObject(Of RootObject)(json)
Dim objsSorteio As Sorteio = JsonConvert.DeserializeObject(Of Sorteio)(json)


For Each nums In objsSorteio.Premios
    MsgBox(nums.ToString)
Next
班级

Public Class Premio
    Public Property Faixa() As String
        Get
            Return m_Faixa
        End Get
        Set(value As String)
            m_Faixa = Value
        End Set
    End Property
    Private m_Faixa As String
    Public Property NumeroGanhadores() As Integer
        Get
            Return m_NumeroGanhadores
        End Get
        Set(value As Integer)
            m_NumeroGanhadores = Value
        End Set
    End Property
    Private m_NumeroGanhadores As Integer
    Public Property Valor() As Double
        Get
            Return m_Valor
        End Get
        Set(value As Double)
            m_Valor = Value
        End Set
    End Property
    Private m_Valor As Double
End Class

Public Class Sorteio
    Public Property NumSorteio() As Integer
        Get
            Return m_NumSorteio
        End Get
        Set(value As Integer)
            m_NumSorteio = Value
        End Set
    End Property
    Private m_NumSorteio As Integer
    Public Property Numeros() As List(Of Integer)
        Get
            Return m_Numeros
        End Get
        Set(value As List(Of Integer))
            m_Numeros = Value
        End Set
    End Property
    Private m_Numeros As List(Of Integer)
    Public Property Premios() As List(Of Premio)
        Get
            Return m_Premios
        End Get
        Set(value As List(Of Premio))
            m_Premios = Value
        End Set
    End Property
    Private m_Premios As List(Of Premio)
    Public Property Ganhadores() As List(Of Object)
        Get
            Return m_Ganhadores
        End Get
        Set(value As List(Of Object))
            m_Ganhadores = Value
        End Set
    End Property
    Private m_Ganhadores As List(Of Object)
End Class

Public Class RootObject
    Public Property NumeroConcurso() As Integer
        Get
            Return m_NumeroConcurso
        End Get
        Set(value As Integer)
            m_NumeroConcurso = Value
        End Set
    End Property
    Private m_NumeroConcurso As Integer
    Public Property Acumulou() As Boolean
        Get
            Return m_Acumulou
        End Get
        Set(value As Boolean)
            m_Acumulou = Value
        End Set
    End Property
    Private m_Acumulou As Boolean
    Public Property EstimativaPremio() As Double
        Get
            Return m_EstimativaPremio
        End Get
        Set(value As Double)
            m_EstimativaPremio = Value
        End Set
    End Property
    Private m_EstimativaPremio As Double
    Public Property ValorAcumulado() As Double
        Get
            Return m_ValorAcumulado
        End Get
        Set(value As Double)
            m_ValorAcumulado = Value
        End Set
    End Property
    Private m_ValorAcumulado As Double
    Public Property Data() As String
        Get
            Return m_Data
        End Get
        Set(value As String)
            m_Data = Value
        End Set
    End Property
    Private m_Data As String
    Public Property RealizadoEm() As String
        Get
            Return m_RealizadoEm
        End Get
        Set(value As String)
            m_RealizadoEm = Value
        End Set
    End Property
    Private m_RealizadoEm As String
    Public Property DescricaoAcumuladoOutro() As String
        Get
            Return m_DescricaoAcumuladoOutro
        End Get
        Set(value As String)
            m_DescricaoAcumuladoOutro = Value
        End Set
    End Property
    Private m_DescricaoAcumuladoOutro As String
    Public Property ValorAcumuladoOutro() As Double
        Get
            Return m_ValorAcumuladoOutro
        End Get
        Set(value As Double)
            m_ValorAcumuladoOutro = Value
        End Set
    End Property
    Private m_ValorAcumuladoOutro As Double
    Public Property DataProximo() As String
        Get
            Return m_DataProximo
        End Get
        Set(value As String)
            m_DataProximo = Value
        End Set
    End Property
    Private m_DataProximo As String
    Public Property ValorAcumuladoEspecial() As Double
        Get
            Return m_ValorAcumuladoEspecial
        End Get
        Set(value As Double)
            m_ValorAcumuladoEspecial = Value
        End Set
    End Property
    Private m_ValorAcumuladoEspecial As Double
    Public Property Arrecadacao() As Double
        Get
            Return m_Arrecadacao
        End Get
        Set(value As Double)
            m_Arrecadacao = Value
        End Set
    End Property
    Private m_Arrecadacao As Double
    Public Property Sorteios() As List(Of Sorteio)
        Get
            Return m_Sorteios
        End Get
        Set(value As List(Of Sorteio))
            m_Sorteios = Value
        End Set
    End Property
    Private m_Sorteios As List(Of Sorteio)
End Class

我不能通读所有的“数字”和“价格”

你不必要地把这件事复杂化了

使用提供的URL,将公开的json数据复制并插入实用程序站点,如。它生成具有自动属性的模型。注意,它将集合转换为数组,就像类中的列表一样

Public Class Premio
    Public Property Faixa As String
    Public Property NumeroGanhadores As Integer
    Public Property Valor As Double
End Class

Public Class Sorteio
    Public Property NumSorteio As Integer
    Public Property Numeros As Integer()
    Public Property Premios As Premio()
    Public Property Ganhadores As Object()
End Class

Public Class RootObject
    Public Property NumeroConcurso As Integer
    Public Property Acumulou As Boolean
    Public Property EstimativaPremio As Double
    Public Property ValorAcumulado As Double
    Public Property Data As String
    Public Property RealizadoEm As String
    Public Property DescricaoAcumuladoOutro As String
    Public Property ValorAcumuladoOutro As Double
    Public Property DataProximo As String
    Public Property ValorAcumuladoEspecial As Double
    Public Property Arrecadacao As Double
    Public Property Sorteios As Sorteio()
End Class
基本上与您原来的内容相同,可读性更好。如果您喜欢的话,可以随意将tha数组转换回列表

第一次去序列化已经为您提供了必要的对象。深入查看属性以访问所需的值

'''other code removed for brevity
Dim objs As RootObject = JsonConvert.DeserializeObject(Of RootObject)(json)
Dim objsSorteioList As List(Of Sorteio) = objs.Sorteios.ToList()

For Each objsSorteio In objsSorteioList
    For Each prems In objsSorteio.Premios
        MsgBox(prems.ToString)
    Next
    For Each nums In objsSorteio.Numeros
        MsgBox(nums.ToString)
    Next
Next

你把这件事搞得太复杂了

使用提供的URL,将公开的json数据复制并插入实用程序站点,如。它生成具有自动属性的模型。注意,它将集合转换为数组,就像类中的列表一样

Public Class Premio
    Public Property Faixa As String
    Public Property NumeroGanhadores As Integer
    Public Property Valor As Double
End Class

Public Class Sorteio
    Public Property NumSorteio As Integer
    Public Property Numeros As Integer()
    Public Property Premios As Premio()
    Public Property Ganhadores As Object()
End Class

Public Class RootObject
    Public Property NumeroConcurso As Integer
    Public Property Acumulou As Boolean
    Public Property EstimativaPremio As Double
    Public Property ValorAcumulado As Double
    Public Property Data As String
    Public Property RealizadoEm As String
    Public Property DescricaoAcumuladoOutro As String
    Public Property ValorAcumuladoOutro As Double
    Public Property DataProximo As String
    Public Property ValorAcumuladoEspecial As Double
    Public Property Arrecadacao As Double
    Public Property Sorteios As Sorteio()
End Class
基本上与您原来的内容相同,可读性更好。如果您喜欢的话,可以随意将tha数组转换回列表

第一次去序列化已经为您提供了必要的对象。深入查看属性以访问所需的值

'''other code removed for brevity
Dim objs As RootObject = JsonConvert.DeserializeObject(Of RootObject)(json)
Dim objsSorteioList As List(Of Sorteio) = objs.Sorteios.ToList()

For Each objsSorteio In objsSorteioList
    For Each prems In objsSorteio.Premios
        MsgBox(prems.ToString)
    Next
    For Each nums In objsSorteio.Numeros
        MsgBox(nums.ToString)
    Next
Next

自动实现属性将防止您编写所有样板代码。json表示一个完整的
RootObject
对象,因此只有第一个反序列化程序代码可以工作
objs.Sorteios.Premios
似乎就是您在Auto implement属性将阻止您编写所有样板代码之后所做的事情。json表示一个完整的
RootObject
对象,因此只有第一个反序列化程序代码可以工作
objs.Sorteios.Premios
似乎就是你想要的