zoukankan      html  css  js  c++  java
  • json对象与字符串的相互转换,数组和字符串的转换

    1.json对象转换为字符串

    JSON.stringify(value [, replacer] [, space]) 

    var student = new Object();

    student.id = "001";

    student.name = "程陈";

    student.age = "18";

    var str = JSON.stringify(student);

    //{"id":"001","name":"程陈","age":"18"}

    var str1 = JSON.stringify(student,["id"],"ok");

    //{
    //ok"id": "001"
    //}

    var data = [
    { name: "小红", sex: 1, age: 10 },
    { name: "小明", sex: 0, age: 10 },
    { name: "小华", sex: 1, age: 30 }
    ];
    var str_json = JSON.stringify(data, function (k, v) {
    if (k === "sex") {
    return ["女", "男"][v];
    }
    return v;
    });

    //[{"name":"小红","sex":"男","age":10},{"name":"小明","sex":"女","age":10},{"name":"小华","sex":"男","age":30}]

    replacer : 使用来过滤的,可以出来数组和函数

    情况一:replacer为数组时,通过后面的实验可以知道,它是和第一个参数value有关系的。一般来说,系列化后的结果是通过键值对来进行表示的。 所以,如果此时第二个参数的值在第一个存在,那么就以第二个参数的值做key,第一个参数的值为value进行表示,如果不存在,就忽略。

      情况二:replacer为方法时,那很简单,就是说把系列化后的每一个对象(记住是每一个)传进方法里面进行处理。

         space:就是用什么来做分隔符的。 

      1)如果省略的话,那么显示出来的值就没有分隔符,直接输出来 。
      2)如果是一个数字的话,那么它就定义缩进几个字符,当然如果大于10 ,则默认为10,因为最大值为10。
      3)如果是一些转义字符,比如“ ”,表示回车,那么它每行一个回车。 
      4)如果仅仅是字符串,就在每行输出值的时候把这些字符串附加上去。当然,最大长度也是10个字符。 

    2.字符串转换为json 对象

    var str2 = '{"abc":"123","bcd":"234"}';//每个属性都要用双引号括起来;不然会有异常

    var obj = JSON.parse(str2);

    //Object {abc: "123", bcd: "234"}

    3.数组转换为字符串

    var arr = ["aaa","bbb","ccc","ddd"];

    var str4 = arr.join(","); 

    //aaa,bbb,ccc,ddd

    4.字符串转换为数组

    var str5 = "123,234,345,456";
    var arr1 = str5.split(",");
    console.log(arr1);

    //["123", "234", "345", "456"]

  • 相关阅读:
    项目总结—校园办公管理系统(SSM框架搭建)
    sssp-webservce_restful
    angular 中怎么获取路径上的参数 参考:https://docs.angularjs.org/api/ng/service/$location
    spring mvc 解决json 不能转换的问题
    在 html中怎么获取中的参数
    弹框,图标
    sssp maven pom
    spring中 的MD5 加密
    angularjs 整合 bootstrap
    深入理解Java包装类与自动拆装箱
  • 原文地址:https://www.cnblogs.com/sunnie-cc/p/6080578.html
Copyright © 2011-2022 走看看