私はjsonを初めて使用し、ネストされたjsonをオブジェクトに逆シリアル化する作業を行っています。外側のオブジェクトは正常に機能しますが、内側のオブジェクトの値を取得できません。リストオブジェクト、コレクション、datacontractserializerの使用を含むいくつかの解決策を試しましたが、何も機能しないようです。私はおそらく明らかな何かを見逃していると思います。これが私が今持っているものです:
json文字列は次のようになります:{"type": "lookup"、 "message": "Success"、 "version":0.1、 "user":{"loginName": "username"、 "vendor":null}}
私のコードは次のとおりです。
<Serializable()> Public Class LookupReturn
Private _Type As String = ""
Private _Message As String = ""
Private _Version As String = ""
Private _user As New jsonUser
Public Property Type() As String
Get
Return _Type
End Get
Set(ByVal value As String)
_Type = value
End Set
End Property
Public Property Message() As String
Get
Return _Message
End Get
Set(ByVal value As String)
_Message = value
End Set
End Property
Public Property Version() As String
Get
Return _Version
End Get
Set(ByVal value As String)
_Version = value
End Set
End Property
Public Property Userobj() As jsonUser
Get
Return _user
End Get
Set(ByVal value As jsonUser)
_user = value
End Set
End Property
End Class
<Serializable()> Public Class jsonUser
Private _loginName As String = ""
Private _vendor As String = ""
Public Property loginName() As String
Get
Return _loginName
End Get
Set(ByVal value As String)
_loginName = value
End Set
End Property
Public Property vendor() As String
Get
Return _vendor
End Get
Set(ByVal value As String)
_vendor = value
End Set
End Property
End Class
Dim _Json As New JavaScriptSerializer()
Dim _Message as string = "{"type":"lookup","message":"Success","version":0.1,"user"{"loginName":"username","vendor":null}}"
Dim returnData As LookupReturn = _Json.Deserialize(Of LookupReturn)(_Message)
LookupReturnオブジェクトのタイプ、メッセージ、バージョン値のデータを取得していて、ユーザーアイテムのオブジェクトを返していますが、loginNameの値は空の文字列です。
どんな助けでもいただければ幸いです!
ありがとう!