只是一个自己的记录
直接代码块
这是html界面
<!DOCTYPE html>
<html>
<head lang="en" xmlns="http://www.w3.org/1999/xhtml">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<button onclick="objectTransitionJson()">对象转换json</button>
<button onclick="jsonTransitionObject()">json转换对象</button>
<button onclick="objListTransitionJson()">对象数组转换json</button>
<button onclick="JsonTransitionObjList()">json转换对象数组</button>
<button onclick="JsonTransitionObject2()">json转对象</button>
<button onclick="TransitionMap()">Map</button>
</body>
<script type="text/javascript" src="json.js"></script>
</html>
这个就是json界面了
//对象转Json
function objectTransitionJson(){
var obj = { name : "悟空", sex : "神" };
var s = JSON.stringify(obj);
alert(s);
}
//Json转对象
function jsonTransitionObject() {
var JsonStr = '{"name":"貂蝉","sex":"女"}';//注意键值都要用双引号
var transitionObj = JSON.parse(JsonStr);
alert(transitionObj.name)
}
//对象数组转Josn数组
function objListTransitionJson() {
var array = [ { name : "悟空", sex : "神" }, { name : "唐三藏", sex : "佛" }];
var s = JSON.stringify(array);
alert(s);
}
//Josn数组转对象
function JsonTransitionObjList() {
//第一种数组有名字的
var JsonStr = '{"sg":[{"name":"貂蝉","sex":"女"},{"name":"赵云","sex":"男"}]}';//注意键值都要用双引号
var transitionObjList = JSON.parse(JsonStr);
for (var i = 0; i < transitionObjList.sg.length; i++) {
alert(transitionObjList.sg[i].name)
}
//第二种数组没名字的
var JsonStr2 = '[{"name":"貂蝉","sex":"女"},{"name":"赵云","sex":"男"}]';//注意键值都要用双引号
var transitionObjList2 = JSON.parse(JsonStr2);
for (var k = 0; k < transitionObjList2.length; k++) {
alert(transitionObjList2[k].sex)
}
}
//Josn转对象
function JsonTransitionObject2() {
var JsonStr = '[{"name":"貂蝉","sex":"女"},{"name":"赵云","sex":"男"}]';//注意键值都要用双引号
var transitionObj = eval("("+JsonStr+")");
for (var i = 0; i < transitionObj.length; i++) {
alert(transitionObj[i].name)
}
}
//Map
function TransitionMap() {
var maps = { 'dc': "貂蝉", 'zy': '赵云' };;//注意键单引号值要用双引号
for (var key in maps) {
alert(key + '=' + maps[key]);
}
}
有时候也可以这样玩(Map + 对象数组):
var EventMap = new Map();
EventMap.set("name", { LeftX: "50", TopY: "60", EventDate: "未知时间" });//你可以(新增)操作_修改也是这样的
EventMap.delete("name");//你可以(删除)操作
var EventClass = EventMap.get("name");//你还可以(查询)操作
再转个json
var EventArrey = [];
EventMap.forEach(function (element) { EventArrey.push(element); });
var event = JSON.stringify(EventArrey);