2017-09-06 1 views
1

나는 YAML 파일 내가 '$'{} 앞에 '\'을 퍼팅 시도YAML 저장 표현 언어

"name": "${foo.data:toLower().equals('hello')}" 

에서 표현 언어를 저장하기 위해 노력하고 있어요,하지만 작동하지 않습니다. "name" 키를 위의 표현식 언어로 설정하기 만하면됩니다. \$ 알 수없는 이스케이프 시퀀스 때문에 실패 시도

당신이 이중 인용 된 문자열 내에서 $ 앞에 백 슬래시 (\)를 넣으면 "toLower().equals('hello')"

+0

나는 열린 중괄호를 벗어나는 것만으로 표현이 해석되는 것을 막아주는 것으로 나타났습니다. 즉, 사용 된 큰 따옴표가없는'name : $ \ {test : foo}' 리터럴 문자열 "$ \ {test : foo}". 하지만 백 슬래시가 남아 있으므로 나중에 사용하면 String에서 제거해야합니다. 실제로 도움이되지는 않겠습니까? 'name' 속성이 SpEL을 포함하고 있다는 것을 안다면'name : foo.data : toLower(). equals ('hello')'와 같이'$ {.. .}'코드에서? – DaveyDaveDave

+0

@DaveyDaveDave 감사합니다. 나는 단지 $ {...}를 나중에 코드에 넣는다. –

답변

0

와 속성을 가져올 수 name 키를 발생하면 오류가 발생한다 YAML에서.

"name": "\\${foo.data:toLower().equals('hello')}" 

가 (당신은 또한 {} 그들을 필요가 있습니다 : 당신이 오류가없는 경우

, 당신의 파서는 고장,하지만 당신은 이중 백 슬래시를 사용하여 해당 극복 할 수있을 것)