제거 방법 & quot; 자바 스크립트의 내 Json에서?


82

내 backbone.js 앱에 json을 주입하려고합니다. 내 json에는 "모든 견적이 있습니다.

이것을 제거 할 수있는 방법이 있습니까?
아래에 샘플을 제공했습니다.

[{"Id":1,"Name":"Name}]

3
처음부터 이런 일이 발생하는 것을 막는 것이 어떻습니까? 현재 당신이 하지 않는 전혀 JSON을 가지고,하지만 같은 약간 보이는 뭔가.
— 궤도

따옴표를 인코딩했습니다. Json과 관련이 없지만 ASP.NET MVC와 관련된 완전히 다른 문제입니다. 이 게시물을 삭제할 수 있습니다.
— Frankie 2012

이것을 사용하는 대신 대체 stackoverflow.com/questions/11147468/...
— 하룬 카라 카

답변:


162

아마도 당신은 변수에 그것을 가지고 있고 JSON.parse(data);. 이 경우 다음을 사용하십시오.

JSON.parse(data.replace(/"/g,'"'));

하지만 "JSON 개체에서는 유효하지 않기 때문에 JSON 쓰기 스크립트를 수정할 수 있습니다 .


1
이 작업을 시도했을 때 js 코드가 다음과 같이 변경되는 것을 보았습니다.result.replace(/"/g,'"')
— efirat

@kirlisakal이 문제를 해결할 수 있었습니까?
— turbo2oh

이것은 작동하지만 데이터에 다음과 같은 값이 있으면 어떻게 10"6 inch display될까요?
— Shyam Kansagra

그런 다음 JSON 작성 스크립트를 수정할 수 있습니다.
— Niet the Dark Absol

내 것이 아닌 API에서 이것을보고 있습니다. "대신 생성되는 이유는 무엇 "입니까? (나는 그것이 반응 앱이라고 생각합니다)
— stevec

17

받아 들여진 대답은 옳지 만 그 문제가있었습니다. 내 코드를 추가하고 디버거를 확인했을 때

result.replace(/"/g,'"')

...에

result.replace(/"/g,'"')

대신에 다음을 사용합니다.

result.replace(/(&quot\;)/g,"\"")

이 표기법으로 작동합니다.


예, 작동합니다! 하지만이 :( 해결하기 위해 세션에게 객체를 정의해야
— 무하마드 tayyab

4
var data = $('<div>').html('[{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]')[0].textContent;

필요한 모든 인코딩 된 값을 구문 분석해야합니다.


그것이 최선의 해결책이었습니다. 나는 탈출 캐릭터가 많았다. 이 트릭은 모두 이스케이프 처리되지
— 않았습니다

0

다음은 나를 위해 작동합니다.

function decodeHtml(html) {
    let areaElement = document.createElement("textarea");
    areaElement.innerHTML = html;

    return areaElement.value;
}

0

메모장 ++에서 대체 기능을 사용하고 &quot;(따옴표없이) 대체 "했으며 결과는 유효한 json이었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.