OFF: спасибо за ссылку, библиотека - крутяк! теперь можно гугл аналитик и твиты в excel анализировать. Вещь! не ожидал что в свободном доступе на vba можно такое найти.
По вашему вопросу:библиотека хорошо парсит ваш json - функция JSONParse возвращает полноценное дерево нодов. вопрос - как вы хотите использовать дальше примерный вариант реализации
Код
Public Sub x()
Dim my_j As New cJobject
Dim s As String
s = "[{'href':'XXX','title':'AAA','atpanel':'OOO','img':'PPP'},{'href':'NNN','title':'JJJ','atpanel':'KKK','img':'TTT'},{'href':'RRR','title':'LLL','atpanel':'BBB','img':'MMM'}]"
Set my_j = JSONParse(s)
i = 2
For Each p In my_j.children
Range("A" & i & "").value = p.children(1).value
Range("B" & i & "").value = p.children(2).value
Range("C" & i & "").value = p.children(3).value
Range("D" & i & "").value = p.children(4).value
i = i + 1
Next
End Sub
привет. подскажите, пожалуйста, как массив из массива вытаскивать. если брать код, который предложенный egonomist
Цитата
Range("A" & i & "" ;) .value = p.children(1).value
то вытаскиваются значения только корневые, то бишь "click_cnt_day" , "campaign_id", "show_cnt_day", "id", "api_status" и т.п. а вот массивы из массивов не вытаскивает, а пишет пустые значения. Например, у "links" , "stats" и т.п
Добрый день, в разборе любой структуры будь то xml или json можно оперировать объектами child, children, parent. гуглите DOM структура документа. Для каждого подмассива нужно выбрать все его дочерние элементы (children) и уже циклом получать их значения. например, для получения show_uniq для даты "24-01-2014" из stats надо написать следующее my_j.children("stats").children(1).children(1).value, или my_j.children(7).children(1).children(1).value т.е можно обратиться по имени или по индексу. Для каждого отдельного json писать отдельный макрос - дело муторное. Поэтому написал макрос выгрузки на лист excel распарсеного json. поддерживается до двух вложенных массивов (Parent -> child(1) -> children of child(1))
во вложении архив с экспортированным модулем. Разархивировать файл. в редакторе Visual Basic - File - Import - указать файл.
Товарищи помогите разобраться, как пользоваться этой библиотекой, скачал файл, запускаю, - запускается с кучей ошибок. ничего из стандартных примеров проверить я не смог - просто не дают ошибки
пробовал перенести класс cJobject и модуль usefulcJobject в чистый проект и попробовал использовать примеры ваших кодов, но ничего не выходит говорит
уже третий день бьюсь в поисках нормальной библиотеки для работы с Json