Ad Widget

Collapse

Разбор JSONа

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vkskif
    Junior Member
    • Nov 2020
    • 1

    #1

    Разбор JSONа

    Подскажите коллеги,
    есть ответ о плагина Oracle для agent2
    [{"UNDOTBS1":{"contents":"UNDO","used_bytes":120586 240,"max_bytes":34359721984,"free_bytes":92930048, "used_pct":0.35,"status":1}},{"AUDIT_TBS":{"conten ts":"PERMANENT","used_bytes":209715200,"max_bytes" :35184372064256,"free_bytes":42860544,"used_pct":0 ,"status":1}},{"UNDO_2":{"contents":"UNDO","used_b ytes":393216000,"max_bytes":34359721984,"free_byte s":301400064,"used_pct":1.14,"status":1}},{"G2B_PR OC_TBLS_TEST":{"contents":"PERMANENT","used_bytes" :6740246528,"max_bytes":35184372064256,"free_bytes ":419430400,"used_pct":0.02,"status":1}},{"USERS": {"contents":"PERMANENT","used_bytes":5242880,"max_ bytes":34359721984,"free_bytes":4128768,"used_pct" :0.02,"status":1}},{"G2B_SH_TBLS_TEST":{"contents" :"PERMANENT","used_bytes":104857600,"max_bytes":35 184372064256,"free_bytes":88932352,"used_pct":0,"s tatus":1}},{"SYSTEM":{"contents":"PERMANENT","used _bytes":356515840,"max_bytes":34359721984,"free_by tes":3407872,"used_pct":1.04,"status":1}},{"G2B_EC OM_TBLS_TEST":{"contents":"PERMANENT","used_bytes" :20526923776,"max_bytes":35184372064256,"free_byte s":10695475200,"used_pct":0.06,"status":1}},{"SYSA UX":{"contents":"PERMANENT","used_bytes":575668224 0,"max_bytes":34359721984,"free_bytes":305790976," used_pct":16.75,"status":1}},{"TEMP":{"contents":" TEMPORARY","used_bytes":362807296,"max_bytes":3435 9721984,"free_bytes":352321536,"used_pct":1.06,"st atus":1}}]


    Задача, разобрать JSON и посоздавать Items как зависимые на безе JSONа. Пытался получить значение через JSONPath, ничего не вышло. Проблема в том что, у меня не выходит избавиться о квадратных кавычек масива. Вот например JSONPath $[0].UNDOTBS1.used_bytes, который возвращает [120586240], забикс сервер не хочет принимать это за корректное значение.

    Вопрос, как получить значение читабельное в забиксе? как вы работаете с масивами?
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Проверил на версии 5.2 с вашим json (убрав паразитные пробелы которые наверное артефакт форматирования) - всё отработало корректно. никаких квадратных скобок! чистое значение в зависимом элементе данных.
    скобки вы получите если будете использовать $[0]..UNDOTBS1.used_bytes

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #3
      Если возвращается значение в квадратных скобках - то, видимо, считается, что это массив (пусть даже и из одного элемента). Вернуть первый элемент массива - дописать в конце JSONPath-выражения ещё ".first()".

      Comment

      Working...