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查询 ...
随机推荐
- python3_字符串
一.字符串的表示 >>> s = "narjaja never give up" #字符串的创建和初始化 >>> s = 'narjaja ne ...
- 关于更改ListBox的ItemsPanel样式
首先定义一个ListBoxItem的样式,用来显示相应的图片信息 <Style TargetType="{x:Type ListBoxItem}" > <Sett ...
- Async和Await 异步方法
Async和Await关键字是C#异步编程的核心.通过使用这两个关键字,你可以使用.NET Framework或Windows Runtime的资源创建一个异步方法如同你创建一个同步的方法一样容易.通 ...
- PHP页面显示中文字符出现乱码
[出现问题] php页面显示中文字符出现乱码 [解决方法] 在php页面的代码前插入一行代码即可 header("Content-Type: text/html;charset=utf-8& ...
- springmvc源码解析MvcNamespaceHandler之<mvc:view-resolvers>
说在前面 本次主要介绍springmvc配置解析. springmvc配置解析 本次介绍MvcNamespaceHandler. 进入到这个方法org.springframework.web.serv ...
- 一种BCD码转换的算法
#include "stdio.h" typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef ...
- luogu3645 [Apio2015]雅加达的摩天大楼 (分块+dijkstra)
我们是想跑最短路的 我们有两种建图方式: 1.对于每个doge i,连向B[j]==B[i]+P[i]*k ,k=..,-2,-1,0,1,2,... ,边权=|k|,这样连的复杂度是$O(N\sum ...
- elasticsearch 安装、配置
elasticsearch:基于java开发,基于RESTful web 接口,提供分布式多用户能力的全文搜索引擎. elasticsearch 安装: 1. java SE Development ...
- A1038. Recover the Smallest Number
Given a collection of number segments, you are supposed to recover the smallest number from them. Fo ...
- 【洛谷P1091】合唱队列
题目大意:给定一个有 N 个正整数的序列,从其中拿走一些数,使得剩下的数满足严格单峰性,即先严格递增后严格递减,允许单调增和单调减,求最少需要拿走多少数. 题解:先考虑严格单调的情况,最少需要拿走多少 ...