当前位置: 首页 > 面试题库 >

JSON Javascript转义

高皓
2023-03-14
问题内容

所以我在下面有一些示例html" target="_blank">动态JSON,我遇到的麻烦是正确地转义了所有内容,以便可以由JSON.parse或Jquery.parseJSON正确处理,由于某种原因,当前它不是。我尝试替换所有引号,但无法解决任何问题…

var Json = '{"resolved_id":"244296544","resolvedUrl":"http:\/\/www.engadget.com\/2012\/11\/01\/windows-phone-for-mac\/","host":"engadget.com","title":"Windows Phone 7 Connector for Mac updated for WP8, rebranded simply as \'Windows Phone\'","datePublished":"2012-11-01 04:49:00","timePublished":1351763340,"responseCode":"200","excerpt":"For Mac users who prefer Microsoft as their mobile partner, Windows Phone 7 Connector has been the one bridging the divide so far. The sync app has just been updated to v3.0, gaining support for Windows Phone 8 and a concise new name -- \"Windows Phone\" -- to match its Windows 8 counterpart.","authors":{"5437327":{"author_id":"5437327","name":"Deepak Dhingra","url":"http:\/\/www.engadget.com\/editor\/deepak-dhingra"}},"images":{"1":{"item_id":"244296544","image_id":"1","src":"http:\/\/www.blogcdn.com\/www.engadget.com\/media\/2012\/11\/win-phone-for-mac-1351752168.jpg","width":"0","height":"0","credit":"","caption":""}},"videos":"","wordCount":116,"isArticle":1,"isVideo":0,"isIndex":0,"usedFallback":0,"article":"\n<a href=\"http:\/\/www.engadget.com\/2012\/11\/01\/windows-phone-for-mac\/\" nodeIndex=\"493\"><img src=\"http:\/\/www.blogcdn.com\/www.engadget.com\/media\/2012\/11\/win-phone-for-mac-1351752168.jpg\" \/><span class=\"ril_caption\"> <cite><\/cite><\/span><\/a>\n<p nodeIndex=\"91\" scoreAddedToParent=\"37\">For Mac users who prefer Microsoft as their mobile partner, <a href=\"http:\/\/www.engadget.com\/2011\/08\/31\/windows-phone-7-mango-will-play-nicer-with-macs-update-your-con\/\" nodeIndex=\"495\">Windows Phone 7 Connector<\/a> has been the one bridging the divide so far. The sync app has just been updated to v3.0, gaining support for <a href=\"http:\/\/www.engadget.com\/2012\/10\/29\/windows-phone-8-review\/\" nodeIndex=\"496\">Windows Phone 8<\/a> and a concise new name -- \"Windows Phone\" -- to match its <a href=\"http:\/\/www.engadget.com\/2012\/10\/29\/microsft-adds-windows-phone-app-to-windows-store\/\" nodeIndex=\"497\">Windows 8 counterpart<\/a>. The new app plays well with <a href=\"http:\/\/www.engadget.com\/tag\/RetinaMacbookPro\/\" nodeIndex=\"498\">Retina Macs<\/a> too, while other goodies in the changelog include drag-and-drop capability for transferring files in either direction, along with support for iPhoto 9.3.2 and Aperture 3.3.2. Incoming WP8 devices such as the <a href=\"http:\/\/www.engadget.com\/2012\/10\/29\/htc-8x-review-windows-phone-8s-compact-flagship\/\" nodeIndex=\"499\">HTC 8X<\/a> and the <a href=\"http:\/\/www.engadget.com\/2012\/10\/04\/nokia-lumia-920-for-atandt-hands-on-a-windows-phone-8-flagship-wi\/\" nodeIndex=\"500\">Lumia 920<\/a> will also get enhanced ringtone features and allow battery life to be monitored via the app. Persuaded? Then collect your goods at the source link below.<\/p>\n\n"}';

问题答案:

在JSON内部,字符串中的引号需要使用反斜杠转义:{"key": "prop with \" quote"}

在JavaScript内部,字符串文字中的引号和反斜杠需要使用反斜杠转义:"string with \\backslash and \" quote"

如果确实需要在JS字符串文字中使用JSON(没有理由这样做),则需要对它们进行两次转义:json = "{\"key":\"prop with \\\" quote and \\n linebreak\"}"。对于“ Windows Phone”周围的引号,您尚未这样做。

但是,在处理此类问题时,您一定做错了。通常,您可以从ajax调用等获取JSON字符串,而在这些字符串中,它们已经作为字符串值获取了。如果您想将一些由服务器创建的JSON直接回显到js脚本中,则无需将其包装在字符串文字中-
它已经[几乎]有效的Object
Literal语法。



 类似资料:
  • 问题内容: 想知道是否有一种简单的方法可以在Objective C中执行简单的HTML转义/转义。我想要的是这样的伪代码: 哪个返回 希望也转义所有其他HTML实体,甚至ASCII码(例如Ӓ等)。 Cocoa Touch / UIKit中有什么方法可以做到这一点? 问题答案: 包含以下解决方案。可可CF具有CFXMLCreateStringByUnescapingEntities函数,但在iPho

  • 问题内容: 我想将包含转义字符的字符串转换为普通格式,就像Python的词法分析器所做的一样: 当然,无聊的方法是将所有已知的转义字符一一替换:http : //docs.python.org/reference/lexical_analysis.html#string- literals 您将如何在上述代码中实现? 问题答案: 几个类似的编解码器是可用的,如ROT13和十六进制。 上面是Pyth

  • 转义是引用单字符的方法.在单个字符前面的转义符(\)告诉shell不必特殊解释这个字符,只把它当成字面上的意思。 但在一些命令和软件包里,比如说 echo 和 sed,转义一个字符可能会引起一个相反的效果--因为它们可能触发那个字符的特殊意思。 一些转义字符的表示的特殊意思 和 echo,sed 连用时: \n 表示新行 \r 表示回车 \t 表示水平的制表符 \v 表示垂直的制表符 \b 表示后

  • 如果源文本中出现了正则表达式中的运算符,如(,使用( 无法匹配下列文本中的括弧,这时要使用\ 进行转义。用 \(匹配[“运算优先级”一节中的所有运算符,都要用这种形式: \运算符 在文本中匹配\本身,要用 \\ 非运算符前使用 \ ,则有特殊的意义,例如\n匹配一个换行符。常用转义字符: 转义字符 涵义   常规匹配 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹

  • 没笔试 1月2号面的 现在还没回信 大概率挂了 1、先介绍了一下项目 2、C++面向对象的三大特性 3、虚函数的理解 4、两个子类继承同一个父类和一个子类继承两个父类有区别吗? 5、QT的信号和槽的原理? 6、信号和槽连接的第五个参数? 7、IO多路复用 8、介绍一下TCP和UDP协议? 9、视频聊天用的是什么协议? 10、TCP协议是如何保证可靠性传输的? 11、两个线程之间如何进行通信? 12

  • 一个数组基本有序应该采用哪种排序方法 为什么要有线程池 ,线程太多会怎么样?? 阻塞队列与普通队列的区别是? 递归与非递归区别是什么?各自的优缺点? 递归如何转为非递归? 操作系统为什么会有内核态和用户态? 代码编写中什么操作会触发内核态到用户态的转变? python c++ java各自的执行效率为什么会有差别? 腾讯会议打开了,现在又点击会提示已经打开,这怎么实现的? 腾讯会议语音传输用的是哪

  • 嗨,我在Python中将utf-8 json转换成unicode escape json时遇到了一些问题 我知道如何将utf-8.txt转换为unicodeescape.txt 但是,我在Python中使用json模块时遇到了上面应用的问题,如下所示 它保存得很好,但是,当涉及到json中的双引号(“)时,它会自动添加双反斜杠(\\),因此unicode-esc.json文件在调用python脚本

  • 问题内容: 目前,我过去通常在字符串中转义不需要的HTML标记,但是后来我意识到它也可以转义带有重音的字符,这是我不想要的。 您是否知道任何用于转义HTML标记的解决方案,但请保留我的特殊字母(对某些人来说,这是正常的;])。 提前致谢! 巴拉斯 问题答案: