Я пытаюсь выяснить, как получить только значения из некоторого JSON, насколько это возможно.Получение всех значений из JSON
JSON источник Я использую это:
{
"_links": {},
"chatter_count": 2,
"chatters": {
"moderators": [
"user1"
],
"staff": [
"user2"
],
"admins": [
"user3"
],
"global_mods": [
"user4"
],
"viewers": [
"user5"
]
}
}
Как указано, в 'болтает' есть модераторы, персонал, администраторы, global_mods, и зрители.
Для каждой из этих небольших подкатегорий (элементы? Поля?), Я хотел бы получить каждое имя пользователя.
я могу получить то, что в настоящее время я ищу для использования этого метода:
Dim root1 As JObject = JObject.Parse(json1)
Dim chatters1 As JToken = root1("chatters")
Dim viewers1 As JToken = chatters1("viewers")
Dim mods1 As JToken = chatters1("moderators")
For Each person As String In mods1.Children
'do something with person
Next
И просто изменяя, что для каждой категории в/Jtoken я объявил.
Другой способ, которым я просто вроде наткнулся как я случайно Мессинг с кодом заключается в следующем:
Dim jResults As JObject = JObject.Parse(json1)
For Each item In jResults
For Each item2 As JProperty In item.Value
For Each item3 As JToken In item2.Children
For Each item4 As String In item3
MessageBox.Show(item4)
Next
Next
Next
Next
я получаю именно то, что мне нужно, и я показать его в окне сообщения только в качестве теста.
4 Для каждой петли кажется довольно чрезмерным, хотя, и я не могу понять, как сделать его более кратким.
Это не особенно помогает в том, что я не очень хорошо знаком с объектами или терминологией JSON. Я знаком с XML и что у него есть корень, узлы, элементы, атрибуты и т. Д. ..... и я пытался провести параллель между JSON и XML, чтобы помочь мне разобраться,
Заранее спасибо!
Вы просто пытаетесь получить строки из значений? Также вы можете использовать Linq для доступа к элементу данных. – t3dodson
В C# вы можете сделать что-то вроде 'JObject.Parse (json1). Выбрать (i => i.Value) .Cast i.Children) .Cast ().Cast () 'Который дал бы' IEnumerable {"user1", "user2", "user3", "user4", "user5"} 'Я не знаю, как перевести это на vb –
t3dodson