У меня возникли проблемы с созданием объекта json с размерным массивом.Как сериализовать массив объектов JSON с двумя или более элементами в vb.net
Смотрите код, я использую, и если вы можете, пожалуйста, помогите мне
Выходная строка JSON объект:
{
"title":"The title",
"subtitle":"Some subtitle here",
"category_id":"your category",
"price":10,
"currency_id":"Real",
"available_quantity":1,
"buying_mode":"buy_it_now",
"listing_type_id":"bronze",
"condition":"new",
"description": "Description",
"video_id": "YOUTUBE_ID_HERE",
"warranty": "12 months",
"pictures":[
{"source":"http://www.yourimage/1.jpg"},
{"source":"http://www.yourimage/2.jpg"},
{"source":"http://www.yourimage/3.jpg"}
]
}
Json Класс :
Порожденного http://jsonutils.com/
Public Class Picture
Public Property source As String
End Class
Public Class newItem
Public Property title As String
Public Property subtitle As String
Public Property category_id As String
Public Property price As Integer
Public Property currency_id As String
Public Property available_quantity As Integer
Public Property buying_mode As String
Public Property listing_type_id As String
Public Property condition As String
Public Property description As String
Public Property video_id As String
Public Property warranty As String
Public Property pictures() As Picture
End Class
Использования класса для создания объекта JSon:
Dim itempost As New PostItem()
itempost.title = "Não compre isso é apenas um teste"
itempost.subtitle = "Sub título"
itempost.category_id = "MLB42369"
itempost.price = 100
itempost.currency_id = "BRL"
itempost.available_quantity = 1
itempost.buying_mode = "buy_it_now"
itempost.listing_type_id = "gold_special"
itempost.condition = "new"
itempost.description = "Descrição do produto"
itempost.video_id = "https://www.youtube.com/watch?v=Gta9HU6M0hk"
itempost.warranty = "Jesus Cristo"
**'here is where I am in trouble**
itempost.pictures = New String() {"http://www.yourimage/1.jpg", ""http://www.yourimage/2.jpg""}
MessageBox.Show(JsonConvert.SerializeObject(itempost).ToString)
Я уже пробовал во многих отношениях, но без успеха , Извините за ошибки языка, я переводчик Google
Edit:
я двигаюсь вперед. Следит код:
Dim itempost As New PostItem() With {
.title = "Não compre isso é apenas um teste",
.category_id = "MLB42369",
.price = 100,
.currency_id = "BRL",
.available_quantity = 1,
.buying_mode = "buy_it_now",
.listing_type_id = "gold_special",
.condition = "new",
.description = "Descrição do produto",
.video_id = "https://www.youtube.com/watch?v=Gta9HU6M0hk",
.warranty = "Jesus Cristo",
.pictures = New Picture() With {
.source = ""
}
}
MessageBox.Show (JsonConvert.SerializeObject (itempost, Formatting.Indented))
Следит выход:
JSON{
"title": "Não compre isso é apenas um teste",
"category_id": "MLB42369",
"price": 100,
"currency_id": "BRL",
"available_quantity": 1,
"buying_mode": "buy_it_now",
"listing_type_id": "gold_special",
"condition": "new",
"description": "Descrição do produto",
"video_id": "https://www.youtube.com/watch?v=Gta9HU6M0hk",
"warranty": "Jesus Cristo",
"pictures": {
"source": ""
}
}
Единственное, что отсутствует меняется синтаксис:
"pictures": {
"source": ""
}
для:
"pictures": [
{
"source": ""
}
]
Ваш класс имеет 'картинки в картинке()', который является тип массива, каждый со своим собственным 'Source' собственности – Plutonix
... и оно не 2 мерную – Plutonix
Копировать JSON в буфер обмена, в Визуальная Studio do paste special, вставьте json в качестве классов, посмотрите на структуры классов, которые он создает. – Crowcoder