sourcecode

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

copyscript 2023. 2. 11. 09:30
반응형

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 포맷의 올바른 여부를 확인하는 사이트입니다.

이 문제를 해결하려면 교환을 사용할 수 있습니다.이건 나한테 효과가 있었어.

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

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

JSON.parse(str);

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

반응형