2014-04-28 3 views
1

yaws에서 json 데이터를 디코딩하려고하는데, 문제를 식별하기가 명확하지 않은 오류가 발생합니다. JSON 데이터 내가 사용하고 명령은 오류가erlang rfc4627 디코딩 오류

예외입니다

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

입니다

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

입니다 : 미확정 필수 : ​​ {HTTP_REQUEST, 'POST', {있는 abs_path " /sample/rest.yaws"},{1,1}} 스택 : [{rfc4627, 디코드, [< < "{\ n \"공항 \ ": \" MAA \ "}, \ n {\"도시 \ ": \"체 나이 \ "}, \ n {\ "country \": \ "India \"}, \ n {\ "name \": \ "Anna International Airport \"} \ n ] \ n} ">>", []} ,

+0

더 많은 정보를 제공해야합니다. 당신이 보는 오류는 당신이 딛고있는 문제와 직접 관련이있는 것처럼 보이지 않습니다. –

+0

이것은 https://gist.github.com/rgrajan/11204417 코드입니다. yaws에서 REST를 시도하고 있습니다. 그런 다음 서비스를 테스트하기 위해 Chrome-Advanced REST 클라이언트를 사용하여 JSON을 전달합니다. –

+0

요청 된 데이터는 요청 데이터 << ""{\ n ""공항 \ ": 공항 \": \ "MAA \"}, \ n {\ "도시 \" : \ "Chennai \"}, \ n {\ "country \": \ "India \"}, \ n {\ "name \": \ "Anna International Airport \"} \ n] \ n} :'yaws 콘솔에서. 문제는 '<<' and '>>'특수 문자 때문입니다. 이것은 자동으로 형식화됩니다. –

답변

1

undef 예외가 발생하여 사용자가 정의되지 않은 함수를 호출하고 있음을 나타냅니다. 오류는 스택을 보여 주며 스택의 맨 위에는 rfc4627:decode/1 함수가 있습니다. 그것은 정의되지 않은 것입니다.

로드 경로에 컴파일 된 rfc4627 모듈을 저장 한 디렉토리가 포함되어 있지 않습니다. 여러 ebin_dir 설정을 가질 수있는

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

참고 : (상단)이 글로벌 설정 부분을 다음과 같이 당신의 yaws.conf 파일을 수정하고 추가하여 딸기 종 부하 경로에 디렉토리를 추가 할 수 있습니다 ; 각각은로드 경로에 추가됩니다.