我正在尝试从隐藏的html输入中获取JSON字符串。JSON字符串:
"{
\"title\": \"Air Quality Details\",
\"type\": \"object\",
\"properties\": {
\"lead\": {
\"type\": \"string\",
\"title\": \"Lead\"
},
\"nitrogen\": {
\"type\": \"string\",
\"title\": \"Nitrogen\"
}
}
}"<input type="hidden" id="uischema" value="{ \" title\":="" \"air="" quality="" details\",="" \"type\":="" \"object\",="" \"properties\":="" {="" \"lead\":="" \"string\",="" \"title\":="" \"lead\"="" },="" \"nitrogen\":="" \"nitrogen\"="" }="" }"="">
当我对此执行document.getElementById时,我只得到"{\“,而不是完整的字符串。
发布于 2018-06-25 16:16:12
听起来你是在这么做:
<input type="hidden" id="something" value="{\"title\":...在HTML语言中,\不是转义字符,因此第一个"结束value属性,就像您编写value="{\"一样。
要正确地将JSON包含在双引号属性中,可以使用"
<input type="hidden" id="something" value="{"title":...但是,将放在一个隐藏的输入中可能不是一个好主意。如果您只想使数据在页面上可用,则将其输出到script标记或类似标记。
发布于 2018-06-25 16:15:48
示例中的字符串不能有这样的换行符。相反,您应该将换行符替换为\n,然后它应该可以正常工作。
或者,如果您能够使用ES6特性,则可以使用反引号将字符串括起来,然后您就可以在代码中使用多行字符串。
https://stackoverflow.com/questions/51018878
复制相似问题