zoukankan      html  css  js  c++  java
  • JSON与对象的相互转换

    json是一种轻量级的数据格式,(本质为字符串)

    低版本可以使用json2.js插件来解决。下载地址:https://github.com/douglascrockford/JSON-js

    JSON语法:数据在名称/值对中、数据由逗号分隔、花括号保存对象、方括号保存数组

    '{"name":"小明","age":18}'
    '["name":"小明","age",18]'

    把JSON格式转成对象:JSON.parse()

    注意:

    • JSON格式必须为标准的JSON格式
    • key值必须是双引号(单引号会报错)
    • value如果是字符串也要加双引号
     let json = '[{"name":"小明","age":18},{"name":"小花","age":16}]';  
     json = JSON.parse(json);
     console.log(json);

    把对象转成标准json:JSON.stringify()

    let obj = {name:'小明','age':18,a:function(){},b:true};
    console.log(JSON.stringify(obj));//{"name":"小明","age":18,"b":true}

    注:转不了undefined和函数(即使转了也不会显示)

    eval():能够把字符串尽量转成js运行的代码

    小技巧 - > 在使用eval传化json的时候,json用字符串括号包一下 eval('('+json+')')

    eval是不安全的(可能会注入不必要的东西),通过new Function('','return'+json)();可以解决该问题

     let json = "{'name':'蜘蛛侠'}";
     // console.log(JSON.parse(json));
     // console.log(eval('('+ json +')'));
     // console.log(new Function('a,b','return a+b')(1,2));
     console.log(new Function('','return'+json)());
  • 相关阅读:
    Linux cooked-mode capture 格式转换
    lo口环路问题分析
    感知器与多层感知机
    梯度下降
    Unity UGUI Canvas 使用Slider制作角色血条
    NGUI 通过按压Button控制角色持续行走
    python基础--函数(二)
    python基础--函数(一)
    python基础--推导式
    python基础--公共操作
  • 原文地址:https://www.cnblogs.com/theblogs/p/9949620.html
Copyright © 2011-2022 走看看