日期:2014-05-16  浏览次数:20363 次

js封装json方法

?

转自http://blog.163.com/xiexiaoming05@126/blog/static/6753898520093275828469/
?

?

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

?

下面通过一些例子对JSON作一些简单的介绍:

?

一、可以通过Javascript中的eval函数把符合一定格式的字符串转化成JSON对象

?

<script language="javascript">

?

??? function ShowJsonString()

?

???? {

?

??????? response = (

?

??????????? "[{ name: 'Joe', age: '30', gender: 'M'},{ name: 'Chandler', age: '32', gender: 'M'},{ name: 'Rose', age: '31', gender: 'M'}]"?? //字符串形式

?

??????? );

?

??????? var response1 = "({ name: 'Vicson', age: '30', gender: 'M'})";?? //字符串形式,这里的小括号不能少

?

??????? json = eval(response);

?

??????? json1 = eval(response1);?

?

??????? alert(json[0].name + "," + json[1].age + "," +? json[2].gender);

?

??????? alert(json1.name);

?

??? }

?

??? ShowJsonString();

?

</script>

?

二、直接定义JSON对象

?

<script language="javascript">

?

??? function ShowJsonObject()

?

??? {

?

??????? var user =

?

??????? {????

?

??????????? username:"andy",???

?

??????????? "age":20,???

?

??????????? "info": { "tel": "25003614", "cellphone": "882"},???

?

??????????? "address":???

?

??????????????? [???

?

??????????????????? {city:"shenzhen","postcode":"0755"},???

?

??????????????????? {"city":"guangzhou","postcode":"020"}???

?

??????????????? ]???????????? //address是一个数组

?

??????? }???????????????????? //对象形式

?

??????? alert(user.username);

?

??????? alert(user.age);???

?

??????? alert(user.info.cellphone);???

?

??????? alert(user.address[0].city);???

?

??????? alert(user.address[0].postcode);

?

??? }

?

??? ShowJsonObject();

?

</script>

?

三、对JSON对象的属性进行赋值

?

<script language="javascript">

?

??? function SetJsonObject()

?

??? {

?

???????? var user=

?

???????? {

?

???????????? "username":"andy"

?

???????? }

?

???????? user.username = "Tom";

?

???????? alert(user.username);

?

??? }

?

??? SetJsonObject();

?

</script>

?

四、通过json.js中的parseJSON方法把字符串转化成JSON对象,

?

??? json.js文件包可以在http://www.json.org/json.js中下载

?

<script language="javascript" src="json.js"></script>

?

<script language="javascript">

?

??? function parseJsonEval()

?

??? {

?

??????? var str = '{"name":"Violet", "occupation":"character"}';

?

??????? var obj = str.parseJSON();

?

??????? alert(obj.toJSONString());

?

??????? alert(obj.name);

?

??? }

?

??? parseJsonEval();

?

</script>