2011-03-22 2 views
1

jQuery parseJSON 함수로 일부 작업을 수행하고있었습니다. jQuery parseJSON fail

내가 아래의 코드처럼 따옴표에 작은 따옴표를 변경 몇 시간 동안 디버깅 후
var obj = $.parseJSON("{'w':'w-1'}"); 
alert(obj.w); 

를 작동하지 않는 코드이며 괜찮 았는데.

var obj = $.parseJSON('{"w":"wb-001"}'); 
alert(obj.w); 

일부 관련 질문

1) 난 그냥 왜 따옴표 작동하지 않습니다 알고 싶어?

2) 작은 따옴표는 eval에서는 잘 작동하지만 parseJSON에서는 잘 작동하지 않습니다. 이유는 무엇입니까?

var obj = eval("("+"{'w':'w-1'}"+")"); 
alert(obj.w); 

3) 나는 보통 내 모든 과거의 자바 스크립트 코딩에 뭔가 잘못되었는지 궁금 위의 문제가 발생한 후이

var someString = "HELLO WORLD"; 

var someString = 'HELLO WORLD'; 

같은 물품. 사전에

고맙습니다,

+0

http://www.jsonlint.com/ 이 링크는 도움이 되셨기를 바랍니다. – pahan

+0

JSON이 제대로 구성되어 있는지 확인하는 데 도움이 될 수 있지만 반드시 3 가지 질문에 대답하는 것은 아닙니다. – alex

+0

은 – pahan

답변

5

1) JSON 사양이 사용 따옴표을 말한다 kvj.

문자열 (따옴표 백 슬래시 탈출 유니 코드)

Source.

2) eval()은 JSON 구문 분석기가 아니라 JavaScript 평가 기입니다. 문자열을 JavaScript처럼 실행합니다.

3) JavaScript에서는 동일한 의미를 갖습니다. 일관성있게하십시오. 개인적으로는 '을 사용합니다. 때로는 일련 화 된 HTML을 다루기 때문에 내 속성 값에 "을 사용합니다.

+0

감사합니다 알렉스, 지금은 분명히 :) – phpsessionid

관련 문제