• js 替换json对象中的键名


    js 替换json对象中的键名

    CreateTime--2018年3月30日15:38:50

    Author:Marydon

    情景描述:

      有个json数组,现在需要将json对象中的key替换掉,值不变;

      将count改为value,goods改为name

    var data = [
                    {count:335, goods:'直接访问'},
                    {count:310, goods:'邮件营销'},
                    {count:234, goods:'联盟广告'}
                ];

      方法一:通过map()实现

    // 方法一        
    var data = [
                  {count:335, goods:'直接访问'},
                  {count:310, goods:'邮件营销'},
                  {count:234, goods:'联盟广告'}
                ].map(function(item) {
                    return {
                        name: item.goods,
                        value: item.count
                    }
                });

      方法二:

    // 方法二        
    var JSONObject = {data:[
                            {count:335, goods:'直接访问'},
                            {count:310, goods:'邮件营销'},
                            {count:234, goods:'联盟广告'}
                            ]};
    // 取到data所对应的json数组                        
    var JSONArray = JSONObject.data;
    // 声明一个数组,用于存储多个json对象
    var JSONArray2 = [];
    // 声明一个json对象,用于临时存储json数据
    var tempJson = {};
    // 遍历数组
    for (var i in JSONArray) {
        // 清空json对象
        tempJson = {};
        // 添加json元素(key-goods)并赋值(value)
        tempJson['name'] = JSONArray[i].goods;                
        // 设置key=value所对应的值并添加到tempJson对象中
        tempJson['value'] = JSONArray[i].count;    
        
        JSONArray2[i] = tempJson;
    }
    alert(JSONArray2[0].name);
    // 改变JSONObject中key=data的值
    JSONObject.data = JSONArray2;

     相关推荐:

      javascript JSON

  • 相关阅读:
    解决通用串行总线(USB)控制器有感叹号
    开发者需要了解的WebKit
    Win7系统搭建WiFi热点详细攻略
    给Qt生成的exe执行程序添加版本信息
    IIS(IISReset.exe)命令行
    .net开发微信公众平台
    使用ExitProcess()结束本进程、TerminateProcess 结束进程
    Hosts文件路径及修改方法
    本地动态SQL
    Oracle Package
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/8676611.html
Copyright © 2020-2023  润新知