프로그램/Html_JavaScript

JSON 쓸 때 홑따옴표[']는 비표준이라네?

(주)CKBcorp., 2018. 2. 18. 16:49
반응형



몰라. 그렇다네. 나도 우연히 알게 됨. 


내가 이전에 알고 있던 건, javascript 에서 문자열 처리시 홑따옴표( single quotation ' ) 와 겹따옴표 ( double quotation " ) 를 둘 다 문자열 처리에 사용할 수 있다는 거였다. = 차이 없다. 


그런데 , stackoverflow 에서 누가 답글 올려놓은 거 보니, 자기가 플젝 할 때 ajax 로 post 값 넘길 때,  method='POST' 썼다가 주옥된 적 있다네.  method="POST" 로 홑따옴표를 겹따옴표로 고쳐 쓰니 된다고. 그래서 jquery 로 ajax 쓰려면 꼭 method="POST" 쓰라는 것. method='POST' 말고.


https://stackoverflow.com/questions/21044798/how-to-use-formdata-for-ajax-file-upload


아니, javascript 에서 홑따옴표랑 겹따옴표를 차별한다고? 구별은 하지만, 기능이 다를 리가 없는데? 라고 생각해서,

 구글에 single quote vs double quote 로 뒤져봤다. 역시나 특별한 이야기가 없다. 

그러다 얻어 걸린 글이 역시나 stackaoverflow 인데... 


https://stackoverflow.com/questions/242813/when-to-use-double-or-single-quotes-in-javascript


요약하면, Json 표준에는 겹따옴표가 표준이고 홑따옴표가 비표준이라는 것. 물론 홑따옴표를 처리해 주지 않는 json 라이브러리는 없을 거라는 답글도 있다. 

하지만 어쨌던 jquery ajax 에서 이런 일이 있었다고 하니까, 일단은, 엔간하면 json 으로 통신할때는 겹따옴표 쓰는 걸로.



이건 뱀발인데, php 와 perl 에서는 홑따옴표와 겹따옴표의 역할이 다르다. 워낙 기본이라 알고 있는 사람이 많을거 같긴 한데, 두 언어에서 겹따옴표는 문자열 안에 변수를 사용할 수 있고, 따옴표 안에 변수를 써 넣으면 parser 가 변수 값으로 바꿔서 출력하고, 홑따옴표는 변수값 변경 없이 무조건 문자열로 처리한다...

뭐, 기본 내용이니 예제는 안 써도 되겠지. 


끝.

반응형