分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

JSON与对象的相互转换

发布时间:2023-09-06 02:22责任编辑:胡小海关键词:暂无标签

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)());

JSON与对象的相互转换

原文地址:https://www.cnblogs.com/theblogs/p/9949620.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved