JavaScript 对象和 JSON 字符串之间的转换

 2024-02-09 03:03:03  阅读 0

关于json代码转换,可以在这里下载

JSON ( ) 是编程语言的子集。 因为JSON是JSON的子集,所以可以明确地用在这种语言中。

eval 函数将 JSON 文本转换为对象

为了将 JSON 文本转换为对象,可以使用 eval 函数。 eval 函数调用编辑器。 由于 JSON 是 JSON 的子集,因此编译器将正确解析文本并生成对象结构。 文本必须用括号括起来以避免语法歧义。

var obj = eval('(' + + ')');

eval 函数非常快。 它可以编译并执行任何程序,从而产生安全问题。 仅当使用可信且完整的源代码时才应使用 eval 函数。 这样可以更安全地解析 JSON 文本。 所使用的 Web 应用程序仅允许来自同一源的页面之间进行通信,因此可以信任。 但它并不完美。 如果服务器没有严格的 JSON 编码,或者没有严格的输入验证,则可能会传输包含危险脚本的无效 JSON 文本。 eval函数将执行恶意脚本。

JSON解释器JSON.parse,JSON.

使用 JSON 解析器可以防止安全风险,例如将 JSON 文本转换为对象的 eval 函数。 JSON解析器只能识别JSON文本并拒绝所有脚本。 提供本机 JSON 支持的浏览器的 JSON 解析器将比 eval 函数快得多。

目前,Opera、IE8及以上版本也提供了本地JSON支持。 其中,JSON解释器提供的功能有:JSON.parse、JSON..

对于不提供原生JSON支持的浏览器,可以引入脚本json2.js来实现JSON转换功能。 json2.js脚本可以从页面下载。

JSON.parse 函数

将 JSON 文本转换为对象。

JSON.parse(文本[,])

范围

文本

必需的。 要转换为对象的 JSON 文本。

选修的。 该参数是一个替换函数。 在变换中,每遍历到一个节点,都会执行该函数,函数的返回值会替换变换结果对应的节点值。

JSON.函数

将对象转换为 JSON 文本。

JSON.(值[,[,空格]])

范围

文本

必需的。 要转换为 JSON 文本的对象。

选修的。 该参数是一个替换函数。 在变换中,每遍历到一个节点,都会执行该函数,函数的返回值会替换变换结果对应的节点值。

空间

选修的。 缩进格式化输出 JSON 文本的空格数。 如果未提供此参数,则不会格式化输出。

参数的委托类型

(核心价值)

函数中的this就是当前遍历到的节点的父节点。 遍历根节点时,父节点是一个对象,根节点是该对象的一个​​属性,属性名称是一个空字符串。

范围

钥匙

当父节点是数组时,键是数组索引,否则键是属性名称。

价值

节点值。

注意:JSON 不支持循环数据结构。

JSON.parse、JSON.使用示例

来自:@yeah/blog//63/

标签: eval

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码