【问题标题】:how to format javascript array data that contains special characters如何格式化包含特殊字符的javascript数组数据
【发布时间】:2010-02-08 07:55:12
【问题描述】:

我正在尝试从 db 查询构造一个 javascript 数组。数组中的每个项目都是一个字符串,其中可以包含许多不同的字符,这些字符会弄乱数组。单引号、双引号、括号等等……

这是我当前输出的示例:

var titleList = new Array('Fallout: New Vegas Teaser-Trailer HD','Saints NFC Champions','Best action scene of all time','NJ Lady ep 5: Our Grandma watches Jersey Shore','Australian Banker Caught Looking At Racy Images Of Model Miranda Kerr On Live Television','LEAKED FOOTAGE: New Griswold's "Vacation" Movie?','"A.D." teaser   (ZOMBIE ANIMATION)'

...等等

有没有一种特殊的方法可以封装每个数组项,这样标题的字符就不会干扰 JS?

感谢您的帮助。

【问题讨论】:

  • 您使用什么语言来构建数组声明?
  • 当生成的 JS 将在浏览器中进行评估时,使用什么语言来构建数组是否重要? OP 可能正在寻找一个通用的答案,而不是特定于语言的工具。
  • @Murali VP:是的,但是具体的问题会导致具体的答案。也许下一个问题是“如何使用语言 X 正确转义 JavaScript 字符串?”
  • 我正在使用php查询数据库

标签: javascript arrays


【解决方案1】:

是的,您可以转义这些字符。阅读JSON

示例(json 序列化对象中的希伯来文文本):

{"updated_at":"2010/02/01 09:55:15 +0000",
 "title":"\u05d5\u05d9\u05ea\u05d5\u05e8"}

【讨论】:

  • JSON 看起来是解决这个问题的好方法。感谢您的建议。
【解决方案2】:

一般来说,您需要对用于字符串声明的引号字符进行转义。因此,对于您的字符串,您需要在字符串声明中转义 '

'LEAKED FOOTAGE: New Griswold\'s "Vacation" Movie?'

您要么必须手动进行替换(使用一些字符串替换功能)。或者,也许您的语言确实支持 JSON 函数。那肯定是更好的选择。

【讨论】:

    【解决方案3】:

    您可以使用 \ 转义一些特殊字符(双引号、单引号、换行符、制表符、..),例如:var foo = "\" is just a double quote"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      相关资源
      最近更新 更多