JQ: Числовые имена полей - PullRequest
       16

JQ: Числовые имена полей

0 голосов
/ 04 апреля 2019

Я использую JQ 1.5 в среде Windows10 (PowerShell). Я создал оператор jq, который работает с данными примера в jqplay, но выдает ошибку в моей среде:

Образец: Кодовая доля

Код:

. | { last_update:  .starbase_detailed_scan.last_update_time, user_name:  .starbase_detailed_scan.owner_name, alliance_id: .starbase_detailed_scan.owner_alliance_id, drydocks: .starbase_detailed_scan.num_drydocks, tier: .starbase_detailed_scan.owner_level, defence_plattform: .starbase_detailed_scan.num_defence_platforms, shield_triggered: .starbase_detailed_scan.player_shield.triggered_on, shield_end: .starbase_detailed_scan.player_shield.expiry_time, parsteel: .resources."325683920".current_amount, tritanium: .resources."743985951".current_amount, dilithium: .resources."2614028847".current_amount, user_id: .starbase_detailed_scan.owner_user_id, defence_rating: .starbase_detailed_scan.defense_rating }

Проблема в объектах JSON с числовым идентификатором. На jqplay я получил правильные значения. На PowerShell jq я получаю ошибку. Я ожидал, что это проблема PowerShell, поэтому я попытался переместить фильтр в файл фильтра. Ошибка исчезла, но я получаю только NULL в качестве значения для трех объектов.

1 Ответ

0 голосов
/ 11 апреля 2019

Числа в пути json должны быть отмечены как Oldschool, как: .starbase_detailed_scan.resources ["2614028847"]

BR Тимо

...