Development Tip

jQuery.parseJSON 작은 따옴표와 큰 따옴표

yourdevel 2020. 11. 4. 20:56
반응형

jQuery.parseJSON 작은 따옴표와 큰 따옴표


실제로 이것의 차이점은 무엇입니까?

이것은 잘 작동합니다.

var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
document.write("obj1 "+ obj1.orderedList );

그러나 다음은 작동하지 않습니다.

var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
document.write("obj2 "+ obj2.orderedList );

왜 그런 겁니까?


큰 따옴표는 표준으로 간주되지만 작은 따옴표는 그렇지 않기 때문입니다. 이것은 실제로 JQuery에만 국한되지 않지만 JSON 표준 에 관한 입니다. 따라서 JS 툴킷에 관계없이 동일한 동작을 기대해야합니다.

값은 큰 따옴표로 묶인 문자열, 숫자, true 또는 false 또는 null, 객체 또는 배열 일 수 있습니다. 이러한 구조는 중첩 될 수 있습니다.

최신 정보

또는 JSON 응답에서 jQuery 작은 따옴표 의 중복 일 수도 있습니다.


API 문서에 따라 큰 따옴표는 유효한 JSON으로 간주되고 작은 따옴표는 그렇지 않습니다.

http://api.jquery.com/jQuery.parseJSON/


www.Jsonlint.com 웹 사이트로 이동 하여 작은 따옴표 json 문자열을 확인하면 유효한 json 문자열이 아님을 알 수 있습니다. 큰 따옴표 json은 표준 json 형식이기 때문입니다.

jsonlint.com은 json 형식의 유무를 확인하는 웹 사이트입니다.


이 문제를 해결하기 위해 replace를 사용할 수 있습니다. 이것은 나를 위해 일했습니다.

var str = "{'orderedList': 'true'}";

str = str.replace(/\'/g, '\"');

JSON.parse(str);

참고 URL : https://stackoverflow.com/questions/14355655/jquery-parsejson-single-quote-vs-double-quote

반응형