首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在document.getElementById中处理双引号

在document.getElementById中处理双引号
EN

Stack Overflow用户
提问于 2018-06-25 16:12:24
回答 2查看 355关注 0票数 0

我正在尝试从隐藏的html输入中获取JSON字符串。JSON字符串:

代码语言:javascript
复制
"{
    \"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时,我只得到"{\“,而不是完整的字符串。

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 16:16:12

听起来你是在这么做:

代码语言:javascript
复制
<input type="hidden" id="something" value="{\"title\":...

在HTML语言中,\不是转义字符,因此第一个"结束value属性,就像您编写value="{\"一样。

要正确地将JSON包含在双引号属性中,可以使用&quot;

代码语言:javascript
复制
<input type="hidden" id="something" value="{&quot;title&quot;:...

但是,将放在一个隐藏的输入中可能不是一个好主意。如果您只想使数据在页面上可用,则将其输出到script标记或类似标记。

票数 2
EN

Stack Overflow用户

发布于 2018-06-25 16:15:48

示例中的字符串不能有这样的换行符。相反,您应该将换行符替换为\n,然后它应该可以正常工作。

或者,如果您能够使用ES6特性,则可以使用反引号将字符串括起来,然后您就可以在代码中使用多行字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51018878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档