JSON 解析双引号
JSON parse double quotes
我遇到了一个很奇怪的错误。如果我 运行 JSON.Parse('[""d""]') 那么我有错误:“Unexpected token d in JSON at position 3”
JSON.parse('["\"d\""]')
如果我 运行 console.log(JSON.stringify(['"d"'])) 然后我得到 '[""d""]'
console.log(JSON.stringify(['"d"']))
如果我 运行 console.log(JSON.parse(JSON.stringify(['"d"']))) 那么我会得到好的结果 [""d" "]
console.log(JSON.parse(JSON.stringify(['"d"'])))
如果我使用 eval 函数,则会出现错误:“Uncaught SyntaxError: Unexpected token d in JSON at position 3”
var someJson=JSON.stringify(['"d"']);
window.eval(`JSON.parse('${someJson}')`)
如何解决?
我使用了一些外部库,并且有 window.eval(JSON.parse('${JSON.stringify(t)}'))
)。其中 t - json 带字符串的数组。字符串可以包含双引号。它抛出异常。
我发现js在我设置的时候改变了我的字符串值
var someJson='["\"d\""]';
console.log(someJson);
它 returns '[""d""]' 而当我 运行 JSON.Parse 它是不正确的 JSON.
如何解决?
JSON.parse('["\"d\""]')
\
是 JS 字符串中的特殊字符,因此要将其包含在您的 JSON 中,您需要对其进行转义。
const yourString = '["\"d\""]';
const validJSON = '["\"d\""]'
const parsedData = JSON.parse(validJSON);
document.querySelector('#yourString').value = yourString;
document.querySelector('#validJSON').value = validJSON;
<p>Your string: <output id="yourString"></output>
<p>Valid JSON: <output id="validJSON"></output>
根据经验,在字符串文字中嵌入 JSON 是浪费时间和精力。您可以只编写解析 JSON.
得到的 JS 数据结构
@Quentin 非常感谢您的想法!我的结果答案:
var someJson=JSON.stringify(['"d"']);
console.log(window.eval(`JSON.parse('${someJson.replaceAll('\','\\')}')`))
我遇到了一个很奇怪的错误。如果我 运行 JSON.Parse('[""d""]') 那么我有错误:“Unexpected token d in JSON at position 3”
JSON.parse('["\"d\""]')
如果我 运行 console.log(JSON.stringify(['"d"'])) 然后我得到 '[""d""]'
console.log(JSON.stringify(['"d"']))
如果我 运行 console.log(JSON.parse(JSON.stringify(['"d"']))) 那么我会得到好的结果 [""d" "]
console.log(JSON.parse(JSON.stringify(['"d"'])))
如果我使用 eval 函数,则会出现错误:“Uncaught SyntaxError: Unexpected token d in JSON at position 3”
var someJson=JSON.stringify(['"d"']);
window.eval(`JSON.parse('${someJson}')`)
如何解决?
我使用了一些外部库,并且有 window.eval(JSON.parse('${JSON.stringify(t)}'))
)。其中 t - json 带字符串的数组。字符串可以包含双引号。它抛出异常。
我发现js在我设置的时候改变了我的字符串值
var someJson='["\"d\""]';
console.log(someJson);
它 returns '[""d""]' 而当我 运行 JSON.Parse 它是不正确的 JSON.
如何解决?
JSON.parse('["\"d\""]')
\
是 JS 字符串中的特殊字符,因此要将其包含在您的 JSON 中,您需要对其进行转义。
const yourString = '["\"d\""]';
const validJSON = '["\"d\""]'
const parsedData = JSON.parse(validJSON);
document.querySelector('#yourString').value = yourString;
document.querySelector('#validJSON').value = validJSON;
<p>Your string: <output id="yourString"></output>
<p>Valid JSON: <output id="validJSON"></output>
根据经验,在字符串文字中嵌入 JSON 是浪费时间和精力。您可以只编写解析 JSON.
得到的 JS 数据结构@Quentin 非常感谢您的想法!我的结果答案:
var someJson=JSON.stringify(['"d"']);
console.log(window.eval(`JSON.parse('${someJson.replaceAll('\','\\')}')`))