제거 방법 & 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.