博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中多层复杂并且动态键值JSON的获取方法
阅读量:5985 次
发布时间:2019-06-20

本文共 1098 字,大约阅读时间需要 3 分钟。

开发中遇到了用js解析重新组装json数据的要求,关键点在于JSON中的串的键是动态的,多方查找解决了在此做个记录。同时我也深感js中循环的无赖,如果用i作为键会得到索引,用key作为循环变量竟然可以得到key,不太理解这种设计,暂且记录下来吧。

var jsonObj =JSON.parse(data.json);                   console.log("payProductMap是:"+JSON.stringify(jsonObj.payProductMap));                   var payProductMapJson = jsonObj.payProductMap;                   var resultJson = {};                   for (var key in payProductMapJson)                    {                        //alert("第一层:"+key);                            //alert("第一层:"+payProductMapJson[key]);                         resultJson.payProductName = key;                        resultJson.dsPayBankMap = JSON.stringify(payProductMapJson[key]);                        console.log("第一个JSON对象是:"+JSON.stringify(payProductMapJson));                        break;                    }

其中,关于json的格式说明如下(支付产品名称是根据页面选择生成的,也就是说JSON串中产品名称不是固定的,这个时候要再页面重新组装数据):

"{\"payProductMap\":{\"ONE_KEY_PAY_DEBIT\":{\"dsPayBankMap\":{\"BANK_PAY_WAP\":{\"rateType\":\"PERCENTAGE\",\"rate\":\"5\"}}}},\"payScenarioMap\":{\"H5_ACCESS\":{\"webUrl\":\"127.0.0.1\"},\"ZF_SHH_ZFB\":{}}}"

转载地址:http://nuylx.baihongyu.com/

你可能感兴趣的文章
Linux基础篇之SELinux
查看>>
成功的培训
查看>>
IOS开发之UITableView1
查看>>
关于ARM的22个常用概念介绍
查看>>
Java学习笔记(29)——Java集合01之总体框架
查看>>
数据库权限设计
查看>>
.net 事件传递
查看>>
require和include区别
查看>>
新安装系统安装QQ不能使用
查看>>
react-navigation 导航栏使用
查看>>
vanish(squid) + HAProxy + nginx + memcached(redis)
查看>>
/etc/inittab文件详解
查看>>
一个较完整的SpringMVC工程的配置
查看>>
JavaScript实现前端路由
查看>>
maven 搭建
查看>>
极速开发,快就是这么任性,你不知道的Jfinal2.0新特性
查看>>
Linux Notes
查看>>
iSCSI安装以及配置
查看>>
It is indirectly referenced from required .class file
查看>>
jenkins 自动化集成测试配置(一)
查看>>