Ad Widget

Collapse

Меняющийся JSON

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dmalchikov
    Junior Member
    • Sep 2018
    • 15

    #1

    Меняющийся JSON

    Доброго дня!
    Не могу подобрать корректную обработку, есть запрос к API узла Эфира, который возвращает когда все ок: {"body":{"jsonrpc":"2.0","id":0,"result":false} }
    А когда есть проблемы или идет синк то такую структуру: {"body":{"jsonrpc":"2.0","id":0,"result":{"current Block":"0x2f8e6d","highestBlock":"0x12d900c"}}
    Нужно для первого статуса выводить 1, а для второго значение currentBlock.
    Комбинация JSONPath и Check for error in JSON выдает ошибку на одном из вариантов.
    Ломается уже логика в голове...
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Я бы делал предобработку через JavaScript.
    Что-то типа такого:
    Code:
    value = JSON.parse(value);
    if (value["body"]["result"] === false) {
      return "1";
    } else {
      return value["body"]["result"]["current Block"];
    }
    В случаях, когда на входе некорректный JSON, на выходе будет ошибка и элемент данных перейдёт в неподдерживаемое состояние.

    Comment


    • dmalchikov
      dmalchikov commented
      Editing a comment
      вот так не иметь опыта с java )
      Спасибо, работает!

    • Kos
      Kos commented
      Editing a comment
      Скажу по секрету (только тсс, никому не говорите!): это и не Java
      Это JavaScript - хоть название и похоже, но другой язык.
Working...