迭代对象反序列化JSON

迭代对象反序列化JSON,json,vb.net,serialization,javascriptserializer,Json,Vb.net,Serialization,Javascriptserializer,我不知道如何通过迭代对象来检索JSON字符串中发送的错误列表。在JSON中,每个键对值都有一个For-Each循环,但第三个键对是键对的对象。我无法使用相同的结构访问这些对象(如果我循环对象,我可以访问它们,但希望尽可能保持一致。)我的“Case Is”Errors Case语句是我想迭代Errors对象的地方,但我不确定如何访问它。这是我的代码。我希望有人能提供帮助 示例JSON: {“success”:“true”,“api_reference”:3821,“errors”:[{“recor

我不知道如何通过迭代对象来检索JSON字符串中发送的错误列表。在JSON中,每个键对值都有一个For-Each循环,但第三个键对是键对的对象。我无法使用相同的结构访问这些对象(如果我循环对象,我可以访问它们,但希望尽可能保持一致。)我的“Case Is”Errors Case语句是我想迭代Errors对象的地方,但我不确定如何访问它。这是我的代码。我希望有人能提供帮助

示例JSON:

{“success”:“true”,“api_reference”:3821,“errors”:[{“record”:“lown”,“record_id”:“-16::1::LPMB40-2385DDDC”,“error”:“请 确保已删除电子邮件字段 已完成,“错误代码”:“33101”},{“记录”:“房东”,“记录id”:“-16::1::LPMB40-2385DDDC”,“错误”:“请 确保电子邮件字段是有效的电子邮件 地址,“错误代码”:“33102”}]}


我建议您使用强类型,这样您就可以将json反序列化为真实对象并使用对象属性。这样,读取值和循环错误等就容易多了:

课程:

Public Class JsonResponse
    Public Property Success As Boolean
    Public Property Api_reference As String

    Public Property Errors As IEnumerable(Of JsonError)
End Class

Public Class JsonError
    Public Property Record As String
    Public Property Record_Id As String
    Public Property [Error] As String
    Public Property Error_Code As String
End Class
反序列化和使用:

Dim j As New JavaScriptSerializer()

Dim data As JsonResponse = j.Deserialize(Of JsonResponse)(responseFromServer)

If Not data.Success Then
    For Each myError As JsonError In data.Errors

    Next
End If

请添加json示例。抱歉,您可以这样做。。
Dim j As New JavaScriptSerializer()

Dim data As JsonResponse = j.Deserialize(Of JsonResponse)(responseFromServer)

If Not data.Success Then
    For Each myError As JsonError In data.Errors

    Next
End If