一、字符串转json
var str = "1:测试1-1;2:测试1-2;3:测试1-3"; //字符串 var str0 = str.split(\';\'); //字符串转数组[ "1:测试1-1", "2:测试1-2", "3:测试1-3" ] /*方法一*/ //运用 $.map 跟 JSON.parse(\'str\') 方法实现 var str1_1 = $.map( str0, function(value, index){ if( typeof value === "string"){ var str_ = value.split(\':\'); return \'"\'+ str_[0] + \'":"\' + str_[1] + \'"\'; } }) //格式化加引号Array: [ ""1":"测试1-1"", ""2":"测试1-2"", ""3":"测试1-3"" ] var str1_2 = "{"+ str1_1.join(\',\')+ "}"; //字符串格式化string: {"1":"测试1-1","2":"测试1-2","3":"测试1-3"} console.log(JSON.parse(str1_2)); //输出结果Object:{1: "测试1-1", 2: "测试1-2", 3: "测试1-3"} /*方法二*/ // 运用 原生 forEach 跟 eval(\'({"+str+"})\') 方法实现 str0.forEach(function(value,index,array){ //forEach 不兼容ie8- 可以使用方法一的 $.map 替换 var str_=value.split(\':\'); array[index]="\""+str_[0]+"\":\""+str_[1]+"\""; }); var str2_1=eval("({"+str0.join(\',\')+"})"); console.log(str2_1); //输出结果Object:{1: "测试1-1", 2: "测试1-2", 3: "测试1-3"}
一、json 转字符串
var obj = { "1":"测试2-1", "2":"测试2-2", "3":"测试2-3"}; //待转换json对象 //var obj = {1: "测试2-1", 2: "测试2-2", 3: "测试2-3"}; //待转换对象 /*方法一*/ var obj1 =\'\'; $.each(obj,function(index,value){ obj1 += \';\'+ index + \':\'+ value; }) //$.each() 拼接实现 //for (k in obj) obj1 += \';\' + k + \':\' + obj[k]; //for in 拼接实现 console.log(obj1.substring(1)); //去掉第一个";" ,输出结果string: "1:测试2-1;2:测试2-2;3:测试2-3" /*方法二*/ var obj2 = JSON.stringify(obj); //将对象转换为字符串,string:\'{"1":"测试2-1","2":"测试2-2","3":"测试2-3"}\' var obj2_1 = obj2.substring(1,obj2.length - 1); //字符串,截取string: \'"1":"测试2-1","2":"测试2-2","3":"测试2-3"\' var obj2_2 = obj2_1.split(",").join(\';\').split(\'"\').join(\'\'); console.log(obj2_2); // 输出结果string:"1:测试2-1;2:测试2-2;3:测试2-3"