javascript js 的json数组对象,对象转json,json转对象,JSON.parse,JSON.stringify,eval(“(“+JsonStr+“)“), Js Map操作

只是一个自己的记录
直接代码块
这是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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值