Я бы порекомендовал вам использовать JavaScriptSerializer
над DataContractJsonSerializer
. Причины:
JavaScriptSerializer
быстрее DataContractJsonSerializer
DataContractJsonSerializer
требует больше кода, чем JavaScriptSerializer
для простой сериализации.
Вам не понадобится атрибут DataContract
и DataMember
для использования вместе с JavaScriptSerializer
Используйте этот класс данных
<Serializable> _
Public Class ApplicationItem
Public Property application_id() As String
Get
Return m_application_id
End Get
Set
m_application_id = Value
End Set
End Property
Private m_application_id As String
Public Property application_package() As String
Get
Return m_application_package
End Get
Set
m_application_package = Value
End Set
End Property
Private m_application_package As String
End Class
И используйте это для десериализации вашего jsonText
:
Dim jss As New JavaScriptSerializer()
Dim dict = jss.Deserialize(Of List(Of ApplicationItem))(jsonText)
Если вы все еще хотите использовать DataContractJsonSerializer
, вы можете использовать этот код ниже для десериализации:
Dim obj As New List(Of ApplicationItem)()
Dim ms As New MemoryStream(Encoding.Unicode.GetBytes(json))
Dim serializer As New System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.[GetType]())
obj = DirectCast(serializer.ReadObject(ms), List(Of ApplicationItem))
ms.Close()
ms.Dispose()
Предоставлено: используется Telerik Code Converter