JavaScript JSON对象(一)

一、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对象转换成字符串。

 

三.JSON对象遍历

  一组无序属性的集合的键值对,属性的值可以是任意类型,这就是对象。JSON也是一个对象,数据都是成对的,一般json格式的数据无论是键还是值都是用双引号括起来的。

  JSON对象拥有两个方法,parse() (将字符串转换为JSON对象)和 stringify() (将JSON对象转换为字符串),这两个一般用于 数据存储或者与后台交互。

  遍历对象:

  for(var key in json ){

    console.log(key +'===========' + json[key]);

  }

 

更多:

Javascript 字符串(二)常用操作整理

Javascript 字符串(一)常见函数使用

JavaScript数组(三)数组对象使用整理

posted @ 2019-04-09 09:35  天马3798  阅读(403)  评论(0编辑  收藏  举报