包含标记为无效的转义单引号的JSON字符串

Sal*_*n A 3 javascript vbscript json

JSONLint说以下是无效的JSON:

[{
"value": 71,
"label": "123 Foobar \'eha-Kauai, Hawaii, United States"
},
{
"value": 75,
"label": "456 Foobar \'elima-Kauai, Hawaii, United States"
}]
Run Code Online (Sandbox Code Playgroud)

但这有效:

var foo = [{
"value": 71,
"label": "123 Foobar \'eha-Kauai, Hawaii, United States"
},
{
"value": 75,
"label": "456 Foobar \'elima-Kauai, Hawaii, United States"
}];
console.log(foo.length); // returns 2
Run Code Online (Sandbox Code Playgroud)

注意:字符串由函数生成,可以通过以下方式使用:

<script>
var foo = '<%= vbs_JSONEncode("Hello World") %>'; // being inconsistent
var bar = "<%= vbs_JSONEncode(str_Hello_Msg) %>"; // with the quotes
</script>
Run Code Online (Sandbox Code Playgroud)

或者干脆:

Response.ContentType = "application/json"
Response.Write vbs_JSONEncode("Hello World")
Run Code Online (Sandbox Code Playgroud)

dog*_*ane 9

你不需要'用反斜杠来逃避.逃避吧".