遷移時間: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); }
?
?