2012-09-19 2 views
2

Javascript 함수가 포함 된 JSON 문자열을 Jackson JsonNode로 구문 분석 할 수 있습니까? jackson 구문 분석 javascript 함수

내가 구문 분석하려고 (JSON 포맷) 문자열

: Java 객체에서
{ 
    "key1" : "value1", 
    "key2" : "value2", 
    "key3" : function() { 
     // some javascript code 
    } 
} 

, 나는지도 같은 것을 기대 (자바 스크립트 함수는 문자열로 변환).

org.codehaus.jackson.JsonParseException: Unrecognized token 'function' 

내가 유효하지 않은 JSON 사용하기위한 기능을 많이 찾았지만 아직도 내가 무엇을하고자하지 ...

어떤 생각 :

현재, 나는 다음과 같은 예외가 있나요?

감사합니다.

+1

설명이 명확하지 않지만 표시되는 문자열은 함수 자체가''function() {} ''과 같은 문자열로 표시되지 않는 한 함수가 있으면 "JSON 형식"이 될 수 없습니다. (JSON은 기능을 허용하지 않습니다. 사용자의 설명에서 명확하지 않다는 것을 확신하지 못합니다.) –

답변

0

이것은 유효한 JSON이 아니며 Jackson에서 지원하지 않습니다. 앞으로도 지원 될 가능성이 없습니다. 나는 그것을 일반 JSON String으로 만들고, 필요하다면 Javascript 측에서 다시 파싱하는 것을 제안 할 것이다.

2

JSON은 기능을 허용하지 않습니다. 당신이 eval()에 있었다 않는

{ 
    "key1" : "value1", 
    "key2" : "value2", 
    "key3" : "function() { ... }" 
} 

가 ...하지만 다시 인코딩시는 함수가 아닌 문자열을 것 :이 같은 문자열로 기능을 인코딩 할 수 있지만 안전한 데이터 전송을 위해 의미 그것 (그러나 그것은 안전하지 않을 수 있었다).

+0

감사합니다. 설명하기가 조금 힘들지만 시도해 봅니다! :-) 실제로 JSON 형식의 String (자바 객체 및 위에서 예로 든 JSON이 포함 된 파일)을 생성하고 마지막으로 Javascript 콘텐츠 인 서버 측을 생성하기 위해 Jackson을 사용합니다. 생성 된 Javascript는 HTTPResponse 및 해석 된 클라이언트 측에서 작성됩니다. 그래서 String으로 함수를 인코딩 할 수 없다고 생각합니다. 반면 String으로 "보여야"합니다. -/ 사용자 정의 파서가있을 수 있습니까? – tduchateau

관련 문제