// JSON实例
//第一种
var arr={
"type": 1,
"flat": "u1001",
"na": "张三"
};
//第二种
var brr={
"item":[
{
"type": 1,
"flat": "u1001",
"na": "张三"
},
{
"type": 0,
"flat": "u1002",
"na": "李四"
}
]
};
//第三种
var crr=[
{
"type": 1,
"item": {
"flat": "u1001",
"na": "张三"
}
},
{
"type": 0,
"item": {
"flat": "u1002",
"na": "李四"
}
}
];
//JSON字符串(首尾字符串带引号):
var str1 = ''[{"name":"chunlynn","sex":"man"},{ "name":"linda","sex":"wowen"}]'';
var jsonstr = ''{"name":"chunlynn","sex":"man"}'';
//JSON对象(JS对象值)(首尾不带引号):
var obj = [{"name":"chunlynn","sex":"man" },{"name":"linda","sex":"wowen"}];
var jsonstr = {"name":"chunlynn","sex":"man"};
// 描述一个人
var Person = {
"Name": "aehyok",
"Age": 25,
"Company": "aehyok",
"Engineer": true
};
//获取这个人的信息
var PersonAge = Person.Age;
alert(PersonAge);
//描述几个人
var members = [
{
"Name": "aehyok",
"Age": 25,
"Company": "aehyok",
"Engineer": true
},
{
"Name": "lqm",
"Age": 25,
"Company": "Oracle",
"Engineer": false
},
{
"Name": "thl",
"Age": 22,
"Company": "Microsoft",
"Engineer": false
}
];
// 读取其中lqm的公司名称
var lqmCompany = members[1].Company;
alert(lqmCompany);
// 描述一次会议
var conference = {
"Conference": "Future Marketing",
"Date": "2013-5-22",
"Address": "ShenZhen",
"Members":
[
{
"Name": "aehyok",
"Age": 25,
"Company": "IBM",
"Engineer": true
},
{
"Name": "lqm",
"Age": 25,
"Company": "Oracle",
"Engineer": false
},
{
"Name": "Thl",
"Age": 20,
"Company": "Microsoft",
"Engineer": false
}
]
};
// 读取参会者Thl是否工程师
var ThlIsAnEngineer = conference.Members[2].Engineer;
alert(ThlIsAnEngineer);
//JSON定义
//null
//JSON 可以设置 null 值:
var a={"torf":null};
//number(数字)
//JSON 数字可以是整型或者浮点型
var b={"age":22};
//boolean(布尔)
//JSON 可以设置为true或者 false
var c={"boolean":true};
//string(字符串)
//JSON 字符串需在双引号中
var d={"name":"angle"};
//Array(数组)
//JSON 数组需在方括号中
var e={
"love":
[
"eat",
"drink",
"play",
"happy"
]
};
//数组可包含多个对象:
var f={
"people":
[
{"name":"aa" , "age":18},
{"name":"bb" , "age":19},
{"name":"cc" , "age":20}
]
};
//Object(对象)
//JSON 对象需在花括号中
var g={
"object":
{
"a":1,
"b":2,
"c":3
}
};
//一起写
var json={
"boolean":null,//null
"age":22,//数字
"boolean":true,//布尔
"name":"angle",//字符串
"love":
[
"eat",
"drink",
"play",
"happy"
],//数组1
"people":
[
{
"name":"aa",
"age":18
},
{
"name":"bb",
"age":19
},
{
"name":"cc",
"age":20
}
],//数组2
"object":
{
"a":1,
"b":2,
"c":3
},//字符串
"object":
{
"a":1,
"b":2,
"c":3
}//对象
};
//JSON可以有两种格式
//一种是对象格式的:
var aa={"name":"JSON","address":"北京市西城区","age":25};//JSON的对象格式的字符串
//另一种是数组对象
var bb=[{"name":"JSON","address":"北京市西城区","age":25}];//数据对象格式
//JSON数组的操作
//1、定义 var josnArry=[];
//2、添加 jsonArry.push(jsonObj);
//3、删除 delete jsonArry[0]; splice(index,length)
//json字符串转化成json对象
// jquery的方法
//var jsonObj = $.parseJSON(jsonStr)
//js 的方法
//var jsonObj = JSON.parse(jsonStr)
//json对象转化成json字符串
//js方法
//var jsonStr1 = JSON.stringify(jsonObj)
/*
Array 对象方法
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
toLocaleString() 把数组转换为本地数组,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值
*/
//js生成json数组
var datas=[];
var data = {};
data["id"] = 1;
data["name"] = "test" + 1;
data["age"] = 1 * 2;
datas.push(data);
var jsonString = JSON.stringify(datas); //[{"id":1,"name":"test1","age":2}]
msg.innerHTML=jsonString;
var epc=eval("("+jsonString+")");
alert(epc[0].id);
//动态添加
//1、json 数组也是数组
var jsonstr="[{''name'':''a'',''value'':1},{''name'':''b'',''value'':2}]";
var jsonarray = eval(''(''+jsonstr+'')'');
var arr =
{
"name" : "ccc",
"value" : 10
}
jsonarray.push(arr);
//2、
var json={};// 定义一个json对象
json.array1=["2","4"];// 增加一个新属性,此属性是数组
json.array1[json.array1.length]=''6'';// 数组追加一个元素
alert(json.array1);
//定义对象
var jsonarray={"item":[{"id":"001","gae":16,"name":"小王"},{"id":"002","gae":15,"name":"小张"}]};
//添加对象
var theitem={id:"003",gae:15,name:"小李"};
jsonarray.item.push(theitem);