반응형
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
반응형
'Development Tip' 카테고리의 다른 글
JavaScript 코드에서 Python 함수 호출 (0) | 2020.11.05 |
---|---|
지연 평가 및 시간 복잡성 (0) | 2020.11.04 |
십진수 값에 대한 Rails number_field 대안 (0) | 2020.11.04 |
Linq to SQL을 사용한 NOLOCK (0) | 2020.11.04 |
Android 레이아웃 폴더 : 레이아웃, 레이아웃 포트, 레이아웃 랜드 (0) | 2020.11.04 |