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)());
JSON与对象的相互转换的更多相关文章
- C# Json 和对象的相互转换
Json 和对象的相互转换 /// <summary> /// Json 和对象的相互转换 ——需引用using Newtonsoft.Json; 即:Jsonnet.net..... / ...
- js json与对象的相互转换
var str = '{ "name": "cxh", "sex": "man" }'; //JSON字符串:var o ...
- Json字符与Json对象的相互转换
Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 复制代码 代码如下: $.parseJ ...
- JSON的String字符串与Java的List列表对象的相互转换
1.JSON的String字符串与Java的List列表对象的相互转换 在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为jso ...
- JS中实现JSON对象和JSON字符串之间的相互转换
对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...
- JSON数据与Java对象的相互转换
JSON数据与Java对象的相互转换 JSON解析器 常见的解析器:Jsonlib .Gson. fastjson. jackson JSON转化为Java对象 使用步骤: 1.导入jackson的相 ...
- Json与bean的相互转换
本文使用json-lib jar包实现Json与bean的相互转换 1.将字符串转为JSON 使用JSONObject.fromObject(str)方法即可将字符串转为JSON对象 使用JSONOb ...
- Json数组对象和对象数组
Json的简单介绍 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种 ...
- .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程
JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询 ...
随机推荐
- git 查看远程分支最后一次提交时间
背景 因为工程创建时间很长了,项目又特别多,导致代码库中远程分支有100多.想要清理一下远程分支,但又不能盲目的删除,需要一定的参考信息. 可以通过代码最后提交时间来进行判断,但是100多个分支,一个 ...
- Fidder 网络抓包调试工具
可参考文章:[HTTP]Fiddler(二) - 使用Fiddler做抓包分析 fiddler2抓包工具使用图文教程
- 关于python项目路径导入自己写的库出错的一点思考
其实也是在写自己项目的时候遇到的,以前也遇到了但是一直采取的是回避的策略,这次总算弄清楚所以总结一下. 这个项目的顶级目录是medivac,他本身是一个python模块. 熟悉flask的人都知道,在 ...
- DevexpressVCL v51
Dev经典套件v49版 支持Delphi2010 DevExpress公司出品的Borland Delphi和C++ Builder的控件(包含完整源代码).ExpressVerticalGrid:就 ...
- js跨域请求jsonp解决方案-最简单的小demo
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- UVALive5876-Writings on the Wall-KMP
有两段字符串,第一段的尾和第二段的头可能重合.问有多少种组合的可能. 需要理解一下next数组的意义. #include <cstdio> #include <cstring> ...
- MT【233】染色正方形
有$n$个正方形排成一行,今用红,白,黑三种颜色给这$n$个正方形染色,每个正方形只能染一种颜色.如果要求染白色的正方形必须是偶数个,问有多少种不同的染色方法. 解答:设有$a_n$种不同的染法,则$ ...
- 恕我直言,在座的各位根本写不好Java!
其实,本不想把标题写的那么恐怖,只是发现很多人干了几年 Java 以后,都自认为是一个不错的 Java 程序员了,可以拿着上万的工资都处宣扬自己了,写这篇文章的目的并不是嘲讽和我一样做 Java 的同 ...
- Activity的跳转与传值
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://android.blog.51cto.com/268543/323982 Acti ...
- 转载:Unity3D游戏对象消失enabled、Destroy与active的区别
转自:http://www.manew.com/3276.html Unity3D游戏对象消失三种方法的区别: gameObject.active:是否在场景中停用该物体,在你gameObject.a ...