erlang rfc4627 ошибка декодирования

Я пытаюсь декодировать данные JSON в рысканье, получая ошибку, которая не позволяет определить проблему. Данные JSON

{
  "airport": [
    {"airport": "MAA"},
    {"city": "Chennai"},
    {"country": "India"},
    {"name": "Anna International Airport"}
  ]
}

Я использую команду

{ok, Json, _} = rfc4627:decode(Arg#arg.clidata).

Ошибка

Исключение: undef Треб: {http_request,'POST',{abs_path,"/sample/rest.yaws"},{1,1}} Стек: [{rfc4627, декодировать, [<< "{\ n \" airport \ ": [\ n {\" airport \ ": \" MAA \ "}, \ n {\" city \ ": \" Chennai \ "}, \ n {\" country \ ": \" India \ "}, \ n {\ "name \": \ "Международный аэропорт Анна \"} \ n] \ n} ">>], []},

1 ответ

Вы получаете undef исключение, указывающее, что вы вызываете неопределенную функцию. Ошибка показывает стек, и в верхней части стека находится rfc4627:decode/1 функция; это тот, который не определен.

Я думаю, что ваш путь загрузки не включает в себя каталог, в котором вы сохранили скомпилированный rfc4627 модуль. Вы можете добавить этот каталог в путь загрузки Yaws, изменив yaws.conf файл и добавление что-то вроде следующего в глобальный раздел конфигурации (в верхней части):

ebin_dir = /path/to/where/rfc4627/is/stored

Обратите внимание, что вам разрешено иметь несколько ebin_dir настройки; каждый добавляется к пути загрузки.

Другие вопросы по тегам