2015-10-20 3 views
0

мой вопрос, как сериализатору следующая строка Json:Serializer с VB.net

data: 
{ 
    "Customers":[{"**PhoneNumber**":"123123123"},{"**PhoneNumber**":"321321321"}], 
    "Expand":false, 
    "Include":false 
} 

я иметь под сомнение, потому что в строке JSon У меня есть 2 равные метки, поэтому я не знаю, как создать свой класс с те же метки, я использую VB.net.

Мои классы в VB.NET

Public Class Customers 
    Public as customer1 
    Public expand as boolean 
    Public include as boolean 
End Class 

Public Class customers1 
    Public PhoneNumber as String 
End Class 
+0

Вы должны опубликовать развитие/целевую среду. Один ответ будет работать с веб-средами, но не с рабочим столом. – rheitzman

ответ

1

Имея такое же поле дублируется в этом случае все в порядке, потому что он находится в коллекции/массив. В этом примере JSON у вас есть два объекта Customer для коллекции клиентов Response.

Ваша объектная модель будет выглядеть следующим образом:

Public Class Response 

    Public Property Customers As List(Of Customer) 
    Public Property Expand As Boolean 
    Public Property Include As Boolean 

End Class 

Public Class Customer 

    Public Property PhoneNumber As String 

End Class 

Пример из десериализации его:

Dim objSerializer As New JavaScriptSerializer() 

Dim objResponse As Response = objSerializer.Deserialize(Of Response)(strData) 
+0

Разве это не требует внешней библиотеки от NewtonSoft - Jason.NET? Если нет, то какие ссылки нужны для .Net? – rheitzman

+0

Импорт System.Web.Script.Serialization (System.Web.Extensions.dll). Newtonsoft также предоставляет популярную библиотеку сериализации JSON. – N0Alias

+0

OK - пропустил ссылку на проект «System.Web.Extensions» – rheitzman