Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
AleXp 31.01.2015 10:59 / 01.02.2015 04:31
Пример из документации:$json_string[{ "a1":{"b": 1, "c": "xyz", "d": "zzz"}, "a2":{"b": 1, "b": 2, "b": 3} }] $h[^json:parse[$json_string; $.double(false) $.distinct[all] $.object[$handler] ]]На выходе обещают:
$h[ $.a1[ $.b[1] $.c[xyz] $.d[=3=] ] $.a2[ $.b[1] $.b_2[2] $.b_3[3] ] ]А реально получается:
$h[ $.a1[ $.b(1) $.c[xyz] $.d[zzz] ] $.a2[ $.b(1) $.b_2(2) $.b_3(3) ] ]В общем параметр $.double() не работает.
$json_string[{ "a1":{"b": "1", "c": "xyz", "d": "zzz"}, "a2":{"b": "1", "b": "2", "b": "3"} }]то тогда парсер всё переведёт в строки:
$h[ $.a1[ $.b[1] $.c[xyz] $.d[zzz] ] $.a2[ $.b[1] $.b_2[2] $.b_3[3] ] ]При этом $.double() опять ни на что не влияет.
$.object[$handler], кстати, тоже работает не так как в документации расписано. Он вызывается только для
"a1":{...}и
"a2":{...}и не вызывается для внутренних членов этих массивов. Т.е. преобразования из
"d":"zzz"в
$.d[=3=]не получается. Выходит
$.d[zzz].