zoukankan      html  css  js  c++  java
  • 字符串与json互转

    一、字符串转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"
  • 相关阅读:
    vue项目学习--2019/5/6
    JAVA注释--2019-04-28
    MyIbatis和Hibernate的区别--2019-04-26
    Thread类和Runnable接口实现多线程--2019-4-18
    Linux文件的扩展名--2019-04-25
    Linux文件名匹配和输出重定向--2019-4-24
    linux学习之命令的排列、替换和别名--2019-04-23
    linux学习--2019-04-22
    操作系统中线程和进程的概念--2019-4-17
    arrayList和vector的区别--2019-4-16
  • 原文地址:https://www.cnblogs.com/ysxq/p/7549982.html
Copyright © 2011-2022 走看看