>  기사  >  웹 프론트엔드  >  JSON_javascript 기술에서 큰따옴표를 사용할 때는 주의하세요.

JSON_javascript 기술에서 큰따옴표를 사용할 때는 주의하세요.

WBOY
WBOY원래의
2016-05-16 16:56:551119검색

1. JSON 객체에

와 같이 큰따옴표가 포함된 속성이 있는 경우 코드를 복사하세요. 코드는 다음과 같습니다.

{
"description": "25""
}

문자열 형식으로 변환하면 자동으로 백슬래시가 추가되어 "25가 됩니다. "", 그런 다음 이를 REST API에 전달하고 MongoDB에 저장합니다.

이때 MongoDB 쉘을 사용하여 데이터를 표시하면 "25""가 되는데, 맞습니다.

2. 그런데 C 드라이버를 사용해서 읽어보면 이렇습니다. 값을 반환하면 "25"" 가 표시되므로 이를 브라우저에 직접 반환하고 jQuery.parseJSON()을 사용하여 구문 분석하면 오류가 보고됩니다.

세그먼트 C를 문자열로 직렬화할 때는 "with"를 판단해서 바꿔야 합니다.
코드 복사 코드는 다음과 같습니다.

void string_to_json_string(std::string const& str, std::string & json_str) {
std::stringstream
for (size_t; i = 0; i < str.length(); i) {
if (str[i] == '"') {
ss <} else {
ss << str[i]
}
}
json_str =
}
🎜>3. JavaScript가 "25""에 대해 jQuery.parseJSON()을 호출한 후 백슬래시가 사라지고 "25""로 변경된 경우 해당 속성 값에 대해 다시 jQuery.parseJSON을 호출하면 오류가 다시 발생합니다.

JavaScript는 오류 방지를 위해 코드를 작성해야 합니다.

코드 복사 코드는 다음과 같습니다.
removeDoubleQuotes: function(str) {
return str.replace(""", "\"");
},

이것은 double의 환생입니다. JSON의 따옴표. 충분히 귀찮으니 조심하세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.