Посмотрите на следующее: JSON Serialization in .Net.
Вам необходимо добавить System.Runtime.Serialization в качестве ссылки на ваш проект, а затем настроить объект serializer в вашем коде. Вам также нужно пометить, какие поля в вашем классе соответствуют вашему JSON-коду.
Это будет ваша установка класс:
<DataContract>
Public Class InfoObjUser
<DataMember(Name:="Name")>
Public Property name As String
<DataMember(Name:="Password")>
Public Property password As String
<DataMember(Name:="Email")>
Public Property email As String
End Class
<DataContract>
Public Class ObjUser
<DataMember>
Public Property user As New List(Of InfoObjUser)
End Class
И класс читатель Json для этого будет выглядеть следующим образом:
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Json
Public Class JsonReader
Public Shared Function FromString(Of T)(ByVal input As String) As T
Dim serializer As New DataContractJsonSerializer(GetType(T))
Dim memStream As New MemoryStream()
Dim sw As New StreamWriter(memStream)
sw.Write(input)
sw.Flush()
memStream.Position = 0
Dim returnObj As T = CType(serializer.ReadObject(memStream), T)
Return returnObj
End Function
End Class
И, наконец, вы можете назвать этот класс так:
Dim jsonString ' = ...Input string here
Dim user As ObjUser = JsonReader.FromString(Of ObjUser)(jsonString)
Однако невозможно назвать имя для двух разных объектов данных, поскольку сериализатор не знал, где их сопоставить, поскольку это имя объекта.
Я не знаю, как эта структура данных уже установлена, но если это возможно, я предлагаю вам изменить дублированные имена, поскольку при этом программно не происходит никакого реального сопоставления.
<DataMember(Name:="UserName")>
Public Property username As String
<DataMember(Name:="UserEmail")>
Public Property usermail As String
Если бы вы добавить что-то подобное для вашей модели данных класса и переименовать имена полей в вашем Json, то он будет работать.
показать код, который вы пытаетесь сериализовать, также включать код, который вы пытаетесь добавить имя и адрес электронной почты. отредактируйте этот вопрос и включите образцы кода. – Damith
Взгляните на [json.net] (http://www.newtonsoft.com/json) –
Этот класс не совсем соответствует строке J. Один элемент электронной почты не может содержать 2 разных значения электронной почты. Без кода, показывающего, что вы делаете и как, трудно помочь – Plutonix