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-zh.html中下载
<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>