迁移时间:2017年5月25日08:24:19

Author:Marydon

三、自定义Map数据格式

需特别注意的是:

  js中没有像java中的Map数据格式,js自带的map()方法用于:返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

map()使用指南:http://www.cnblogs.com/rocky-fang/p/5756733.html

  (一)数据格式介绍

    java中Map数据格式组成:{key=value, key=value,...}

    格式:键与值之间用"="拼接,键值对之间用","拼接。

  (二)操作Map

    3.2.1 Map赋值  

    实现方式:字符串拼接  

    拼接方式:同上

    举例:

var mapString = "";
var value1 = "张三";
var value2 = "123";
mapString += "userName=" + value1 + ",";
mapString += "password=" + value2;
mapString = "{" + mapString + "}";//最后拼接上"{}"

  (三)格式转换

    3.1 mapString转换成JSON对象

/**
* 将map形式的字符串转成JSON对象
* @param {string} mapStr
*   java-Map格式字符串
*/
function mapstringToJSON (mapStr) {
// 1.去除字符串中所有的"
mapStr = mapStr.replace(/"/g, "");
// 2.去除掉"{}"
mapStr = mapStr.substring(1, mapStr.length - 1);
// 3.将map字符串用逗号拆分成数组
var strs = mapStr.split(",");
var jsonStr = "";//JSON字符串
var keyValue = new Array(2);//声明一个长度为2的数组
var key = "";//JSON-键
var value = "";//JSON-值
// 4.迭代map键值对
$(strs).each(function(index, str) {
keyValue = str.split("=");//按等号拆分成数组
key = '"' + keyValue[0].trim() + '"';
value = '"' + keyValue[1].trim() + '"';
jsonStr += key + ":" + value + ",";//标准的JSON拼接格式
});
// 5.去除最后一个逗号并拼接"{}"
jsonStr = "{" + jsonStr.substring(0, jsonStr.length - 1) + "}";
// 6.json字符串转成JSON对象
var json = eval('(' + jsonStr + ')');
return json;
}

    举例:

/**
* 遍历JSON对象
*/
var key = "";//键
var value = "";//值
var keyValue = "";//键值对
for (var item in jsonObj) {
key = item;
value = jsonObj[item];//这里只能使用"[]"取值,使用"."(jsonObj.item)取不到值
keyValue = item + ":" + value;
console.log(keyValue);
}  
 

最新文章

  1. java类加载器加载文件
  2. 用UNIX消息队列实现IPC(以ATM为例)
  3. Popular Cows(codevs 2186)
  4. axis2 WebService的发布与调用
  5. cocos2d-x 中添加显示文字的三种方式 LabelTTF 、LabelBMFont 和 LabelAtlas
  6. 华为HG8240光猫-破解-联通-2016-telnet-http
  7. 基于visual Studio2013解决C语言竞赛题之0703乾坤大挪移
  8. sieve的objective-c实现
  9. 记录Nginx常用命令
  10. F3D模式规则详解
  11. AdminLTE用django部署
  12. Luogu3514 POI2011 Lollipop 递推、构造
  13. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache
  14. pyhanlp 停用词与用户自定义词典功能详解
  15. LeetCode OJ 56. Merge Intervals
  16. 牛客多校第四场 J.Hash Function(线段树优化建图+拓扑排序)
  17. bzoj 5055: 膜法师 -- 树状数组
  18. shell 判断变量是否为空
  19. C++中const在函数中的用法
  20. c#开发微信公众号——关于c#对象与xml的转换

热门文章

  1. 【转】【python】装饰器的原理
  2. leetcode136 Single Number
  3. 初见Python<5>:条件、循环和其他语句
  4. (原创)Stanford Machine Learning (by Andrew NG) --- (week 6) Advice for Applying Machine Learning & Machine Learning System Design
  5. Educational Codeforces Round 9 F. Magic Matrix 最小生成树
  6. Oracle Linux logoOracle Linux
  7. 使用Python SocketServer快速实现多线程网络服务器
  8. NServiceBus入门:发布事件(Introduction to NServiceBus: Publishing events)
  9. (转)探索C++的秘密之详解extern "C",这就是为什么很多.lib被我们正确调用确总是无法解析的。
  10. Virtualbox+ubuntu设置共享文件夹