내가 왜 백 슬래시를 추가 net.sf.json.JSONObject 알아 내려고 내 머리를 잃어버린거야 어디서해야하지 내 자바 코드에 :net.sf.json.JSONObject는 예상치 못한 곳에 백 슬래시를 추가합니까?
JSONObject obj = new JSONObject();
obj.element ("column_name", "<a href=\"#\" title=\"test\">Test !</a>");
출력됩니다 :
<a href=\"#\" title=\"test\">Test !<\/a>
여분의 "\"는 </a> 근처에 있습니다.
이 동작을 어떻게 피할 수 있습니까?
글쎄, 당신이 말한 것과 물론 당신이 옳았다는 것을 확인했기 때문에 이상하지만, 문제는 DOM의 HTML 값을 extjs (그리드)의 요소와 같은 테이블에 추가하는 것입니다. 열이 손상되었습니다 (데이터 요소가 헤더와 잘 정렬되지 않음). 잘못된 html에서 문제가 발견되었습니다. 나는 요청에 의해 반환 된 HTML을 검사하고, "\ /"를 제외하고는 다른 모든 것이 괜찮습니다. 매우 이상합니다. p 하지만 도움을 주셔서 감사합니다. –
그러면 지금은 슬래시를 이스케이프 처리하는 것이 왜 문제를 일으키는 지 상상할 수 없기 때문에 더 자세한 정보를 제공해야합니다. 그러나 인용문을 이스케이프 처리하지는 않습니다. – RoToRa
비슷한 문제가 있었지만 폴더 구조가있어서/folder_name은 \/folder_name (org.json을 사용하고 있습니다)이지만 파서 (cjson)는 문자열을 디코딩 한 후에 백 슬래시를 남겨 둡니다. 아래의 @ktbiz 접근 방식을 사용했지만 클라이언트 측에서 JSON 문자열을 보내기 전에 \/with/with를 바꿉니다. JSON 스키마가 승인되면 org.json toString() 코드의 버그라고 다른 곳에서 읽었지만 다른 JSON 파서 (내 경우 cjson)의 버그처럼 들립니다. –