JS字面量和JSON

JS字面量

1.字符串字面量(String Literal)

是指双引号引住的一系列字符,双引号中可以没有字符,可以只有一个字符,也可以有很多个字符。 在编程语言中,字面量是一种表示值的记法。

示例:var test="hello world!";

"hello world!"就是字符串字面量,test是变量名。


2.数组字面量(array literal)

示例:var team=["tom","john","smith","kobe"];

["tom","john","smith","kobe"]是数组字面量

 

3.对象字面量(object literal)

示例:var person={name:"tom",age:"26",sex:"male"};

{name:"tom",age:"26",sex:"male"}为对象字面量

注:js中,对象的属性,加不加引号,都按字符串隐性转换的。

 

JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。

 

JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

 

JSON字符串

Var strJSON = “{\“Area\”:[{\“AreaId\”:\”123\”},{\“AreaId\”:\”345\”}]}”,

其实也可以写成这样:

Var strJSON = ‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}’,

这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。

注:在Js中单引号和双引号都可以表示一个字符串


JSON对象

Var JSON = {“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},

看到了吧,JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象。

 

JSON字符串向JSON对象转换

直接只用JS的eval()方法。

如上面的strJSON字符串可以这样转换为JSON对象

Var JSON = eval(”(”+strJSON+”)”),

这样就转换为JSON对象了。

 

var a={"name":"tom","sex":"男","age":"24"};//json对象

var b='{"name":"Mike","sex":"女","age":"29"}';//json字符串

var aToStr=JSON.stringify(a);

var bToObj=JSON.parse(b);

alert(typeof(aToStr));  //string

alert(typeof(bToObj));//object



你可能感兴趣的:(JS字面量和JSON)