zoukankan      html  css  js  c++  java
  • JSON.stringify 的使用

    一、作用:这个函数的作用主要是为了序列化对象。就是把原来是对象的类型转换成字符串类型(json格式的String类型)。

    二、语法:JSON.stringify(value[, replacer][, space])

    value:必须要的字段。传入的对象,如数组,类等。

    replacer:可选字段。两种方式,一是方法,二是数组。

    情况一,传入的是数组。以第二个数组的值为key,第一个数组为value进行序列化,如果不存在就忽略。

    情况二,传入的是方法。把序列化后的每一个对象传进方法里面进行处理。

    space:分隔符。

    1、如果省略,那显示出来的值就没有分隔符,直接输出。

    2、如果是一个数字,那它就定义缩进几个字符,如果大于10,则最大值为10

    3、如果是一些转义字符,比如“ ”,表示回车,那它每行一个回车。

    4、如果是字符串,那每行输出组把该字符串附加上去,最大长度也是10个字符。

    三、实例:

    1、只有一个参数,即只传入参数value

    var text = {};

    text.id = 1;

    text.name = "fang";

    var json = JSON.stringify(text);

    alert(text + " | " + json);

    结果:

    2、第二个参数存在,传入的值是function

    function upperCase(key, value) {

    return value.toString().toUpperCase();

    }

    var text = new Array();

    text[0] = "abc";

    text[1] = "defg";

    var json = JSON.stringify(text, upperCase);

    alert(text + " | " + json);

    结果:

    3、第二个参数存在,并且为数组

    3.1、进行序列化的对象是数组,那忽略第二个参数,直接进行序列化

    var text = new Array();

    text[0] = "abc";

    text[1] = "defg";

    var text2 = new Array();

    text2[0] = "1";

    text2[1] = "2";

    var json = JSON.stringify(text, text2);

    alert(text + " | " + json);

    结果:

    3.2、第一个参数不是数组对象,第二个是数组,如果第二个数组的value在第一个存在,那就以第二个的值为key,第一个值为value进行表示

    var text = new Object();

    text.id = 1;

    text.name = "fxr";

    text.sex = "male";

    var array = new Array();

    array[0] = "id";

    array[1] = "name";

    array[2] = "age"; // 第一个对象中不存在该属性

    var json = JSON.stringify(text, array);

    alert(text + " | " + json);

    结果:array[2] = “age” 这个在第一个中找不到,就不显示。

    4、第三个参数存在

    4.1、参数为数字:定义缩进几个字符,最大值为10

    var text = new Object();

    text.id = 1;

    text.name = "fxr";

    text.sex = "male";

    var array = new Array();

    array[0] = "id";

    array[1] = "name";

    array[2] = "age"; // 第一个对象中不存在该属性

    // 缩进20个字符,但是最大值为10,缩进10个字符

    var json = JSON.stringify(text, array, 20);

    alert(text + " | " + json);

    结果:

    4.2、参数为转义字符:比如“ ”,表示回车,那每一行一个回车

    var text = new Object();

    text.id = 1;

    text.name = "fxr";

    text.sex = "male";

    var array = new Array();

    array[0] = "id";

    array[1] = "name";

    array[2] = "age"; // 第一个对象中不存在该属性

    // 换行

    var json = JSON.stringify(text, array, " ");

    alert(text + " | " + json);

    结果:

    4.3、参数为字符串,则附加上去,最大长度为10个字符

    var text = new Object();

    text.id = 1;

    text.name = "fxr";

    text.sex = "male";

    var array = new Array();

    array[0] = "id";

    array[1] = "name";

    array[2] = "age"; // 第一个对象中不存在该属性

    // 字符串

    var json = JSON.stringify(text, array, "添加");

    alert(text + " | " + json);

    结果:

  • 相关阅读:
    ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案
    wgs84 转百度经纬度坐标
    vue 编译大量空格警告问题总结 warning: Replace `↹↹` with `··`
    微信sdk php签名方法整理
    Vue 使用百度地图组件
    php unicode转字符串
    第十篇、微信小程序-view组件
    第九篇、微信小程序-button组件
    第八篇、微信小程序-progress组件
    第七篇、微信小程序-video组件
  • 原文地址:https://www.cnblogs.com/1549983239yifeng/p/13780800.html
Copyright © 2011-2022 走看看