一, JSON 数据
JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式.
JSON 是 "名值对" 的集合. 结构由大括号'{}', 中括号'[]', 逗号',', 冒号':', 双引号'""'组成, 包含的数据类型有 Object,Number,Boolean,String,Array, NULL 等.
JSON 具有以下的形式:
对象 (Object) 是一个无序的 "名值对" 集合, 一个对象以 "{" 开始,"}" 结束. 每个 "名" 后跟着一个 ":", 多个 "名值对" 由逗号分隔. 如:
var user={"name":"张三","gender":"男","birthday":"1980-8-8"}
数组 (Array) 是值的有序集合, 一个数组以 "[" 开始, 以 "]" 结束, 值之间使用 "," 分隔. 如:
var userlist=[{"user":{"name":"张三","gender":"男","birthday":"1980-8-8"}},{"user":{"name":"李四","gender":"男","birthday":"1985-5-8"}}];
字符串 (String) 是由双引号包围的任意数量的 Unicode 字符的集合, 使用反斜线转义.
- //JS 解析 JSON 数组的字符串格式
- $(".one").click(function () {
- $.Ajax({
- url: "../logic/November.ashx",
- data: { "code": "one" },
- type: "post",
- dataType: "",
- success: function (data, http) {
- var JSON = eval('(' + data + ')');
- $.each(JSON, function (key, val) {
- $("p").append(key+"---->>>"+val+"<Br>");
- });
- }
- });
- });
二, JSON 对象
JSON(JavaScript Object Notation) 是 JavaScript 编程语言的一个子集. 正因 JSON 是 JavaScript 的一个子集, 所以它可清晰的运用于此语言中.
eval 函数 JSON 文本转换为对象
为了将 JSON 文本转换为对象, 可以使用 eval 函数. eval 函数调用 JavaScript 编辑器. 由于 JSON 是 JavaScript 的子集, 因此编译器将正确的解析文本并产生对象结构. 文本必须括在括号中避免产生 JavaScript 的语法歧义.
var obj = eval('(' + JSONTest + ')');eval 函数非常快速. 它可以编译执行任何 JavaScript 程序, 因此产生了安全性问题. 当使用可信任与完善的源代码时才可以使用 eval 函数. 这样可以更安全的解析 JSON 文本. 使用 XmlHttp 的 web 应用, 页面之间的通讯只允许同源, 因此是可以信任的. 但这却不是完善的. 如果服务器没有严谨的 JSON 编码, 或者没有严格的输入验证, 那么可能传送包括危险脚本的无效 JSON 文本. eval 函数将执行恶意的脚本.
JSON 解释器 JSON.parse,JSON.stringify
使用 JSON 解析器可以防止像 eval 函数转换 JSON 文本为对象那样的安全隐患. JSON 解析器只能辨识 JSON 文本, 拒绝所有脚本. 提供了本地 JSON 支持的浏览器的 JSON 解析器将远快于 eval 函数.
目前, Google,Firefox,Opera,IE8 以上版本也提供了本地 JSON 支持. 其中, JSON 解释器提供的函数有:
JSON.parse: 将 JSON 字符串转换成内存对象
JSON.stringify: 将 JSON 对象转换成字符串.
更多:
JavaScript 字符串 (二) 常用操作整理 https://www.cnblogs.com/tianma3798/p/10674901.html
JavaScript 字符串 (一) 常见函数使用 https://www.cnblogs.com/tianma3798/p/10644113.html
JavaScript 数组 (三) 数组对象使用整理 https://www.cnblogs.com/tianma3798/p/10580051.html
JavaScript JSON 对象(一)
来源: http://www.bubuko.com/infodetail-3016709.html