Как разобрать внука Джсона в VB.NET Newtonsoft
У меня возникли проблемы с отображением tongits, Блэк Джек, 21 в списке
Я могу показывать только любимую игру, игру в списке
а также как подсчитать количество вопросов в анкетах?
Данные Json
{
"id": 1,
"status": "DRAFT",
"title": "GAMES",
"author": "foo",
"questionnaires": [
{
"id": 1,
"question": "Favorite game",
"answers": [
"tongits",
"black jack",
"21"
]
},
{
"id": 2,
"question": "game",
"answers": [
"basketball",
"volleyball"
]
}
]
}
Это мой код в VB
Dim o As JObject = JObject.Parse(json)
Dim results As List(Of JToken) = o.Children().ToList
For Each item As JProperty In results
item.CreateReader()
Select Case item.Name
Case "questionnaires"
Dim question As String
For Each subitem As JObject In item.Values
listbox1.item.add(question)
Next
End Select
Next
с удовольствием бы поблагодарил кого поможет
1 ответ
У вас есть опечатка "Анкета", так как ее нет в вашем JSON ("Анкеты" есть). Также вам не нужно искать его. Ниже приведен псевдокод Javascript, на который вы можете ссылаться. Должно быть очень похоже на VB.Net.
var jsonData = '{"id": 1, "status": "DRAFT", "title": "GAMES", "author": "foo", "questionnaires": [ { "id": 1, "question": "Favorite game", "answers": [ "tongits", "black jack", "21" ] }, { "id": 2, "question": "game", "answers": [ "basketball", "volleyball" ] } ] }';
var jsonObj = JSON.parse(jsonData);
for (var question in jsonObj.questionnaires)
{
console.log('ID:' + jsonObj.questionnaires[question].id);
console.log('Question:' + jsonObj.questionnaires[question].question);
for (var answerToQuestion in jsonObj.questionnaires[question].answers)
{
console.log('--->Answer:' + jsonObj.questionnaires[question].answers[answerToQuestion]);
}
}
Результаты:
ID:1
Question:Favorite game
--->Answer:tongits
--->Answer:black jack
--->Answer:21
ID:2
Question:game
--->Answer:basketball
--->Answer:volleyball