微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么Groovy JSONBuilder在URL中转义斜杠?

如何解决为什么Groovy JSONBuilder在URL中转义斜杠?

| 我正在编写一个Groovy脚本,该脚本需要将JSON发布到URL。我发现一个问题是,JSON构建器将JSON中包含\'/ \'的所有元素都更改为\'\\ / \'。有办法阻止这种情况吗? 这是使用Groovy 1.8。这是一个简单的示例及其输出
def json = new JsonBuilder()
    json.reply {
    result \'http://google.ie/testing\'
}

println json.toString()

Output -> {\"reply\":{\"result\":\"http:\\/\\/google.ie\\/testing\"}}
谢谢     

解决方法

        看看,ѭ1将正斜杠编码为
\'\\\\/\'
。 您可以使用
toPrettyString
,但不会这样做:
def json = new groovy.json.JsonBuilder()

json.reply {
  result \'http://google.ie/testing\'
}

assert json.toPrettyString() == \'\'\'{
    \"reply\": {
        \"result\": \"http://google.ie/testing\"
    }
}\'\'\'
    ,           为什么Groovy JSONBuilder在URL中转义斜杠? 摘录于http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/1642ec0bed9b95ba/21956eed23f04e13?pli=1中的有趣观点: Arne Roomann-Kurrik:根据JSON规范,转义\'/ \'是可选的。 Mike Samuel:固线符是可以转义的字符集之一,因此可以安全地在HTML中将JSON子字符串
</script>
嵌入为
<\\/script>
。 (这句话的一半是安德烈亚·埃尔科利诺的。) 凯文·布朗(Kevin Brown):这主要是由于有错误的JavaScript解析器将//视为注释 当它在一个字符串中时。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。