zoukankan      html  css  js  c++  java
  • Json字符串转化成Json对象、数组 + 向Json数组插入一个字段

    1.Json字符串转化成对象

    普通形式,也就是字段带有双引号,可以使用JSON.parse()完成转化

    var a='{"field":"Adu"}';var b=JSON.parse(a);console.log(b);   //输出{field: "Adu"}

    但通常情况下不可能这么完美,比如,你的字段是单引号

    var a="{'field':'Adu'}";var b=JSON.parse(a);console.log(b);
    
    //报错Unexpected token ' in JSON at position 1

    那么,就要对这种情况进行转换,后端传递的时候,就要使用转义字符

    var a="{"field":"Adu"}";var b=JSON.parse(a);console.log(b);
    //完美转化 {field: "Adu"}

    2.Json字符串转化成数组

    有了上面的经验就好说了,只需要遍历数组就可以了

    var a=["{ "field": "Enter_Name","field02": "Adu"}","{ "field": "Enter02" }"];
    var b=[];
    a.forEach(t => b.push(JSON.parse(t)));
    
    //输出:
    //0: {field: "Enter_Name", field02: "Adu"}
    //1: {field: "Enter02"}

    3.向现有数组中添加一个字段

    有些字段不好展示,比如fixWidth(0.2),它是一个函数,不能带引号,那么只能后手插入

    还是利用上面的例子。

    var a=["{ "field": "Enter_Name","field02": "Adu"}","{ "field": "Enter02" }"];
    var b=[];
    a.forEach(t => b.push(JSON.parse(t)));
    var c=[];
    b.map((item,index)=>{c.push(Object.assign({},item,{fixWidth(0.2)}))});

    先向数组b中插入转换的数据,再添加字段。使用Object.assign给一个空对象插入item和字段。

    或者是直接遍历b数组,添加字段

    var a=["{ "field": "Enter_Name","field02": "Adu"}","{ "field": "Enter02" }"];var b=[];
    a.forEach(t => b.push(JSON.parse(t)));
    b.forEach((value,index) => {value['width']=fixWidth(0.2)});console.log(b);
    记录编程的点滴,体会学习的乐趣
  • 相关阅读:
    跨域踩坑经验总结(内涵:跨域知识科普)
    Nginx location规则匹配
    CentOS 命令
    Centos 修改源
    Ubuntu下获取内核源码
    Ubuntu用户自定义脚本开机启动
    ubuntu 14.04安装x11VNC
    texi格式文件的读取
    更换主机后SSH无法登录的问题
    ubuntu操作系统的目录结构
  • 原文地址:https://www.cnblogs.com/AduBlog/p/14066870.html
Copyright © 2011-2022 走看看