JS对象和字符串之间互换操作实例分析


Posted in Javascript onFebruary 02, 2019

本文实例讲述了JS对象和字符串之间互换操作。分享给大家供大家参考,具体如下:

平时在工作中大家一定也有过这样的需求,就是有时候需要把一个json对象转换为字符串,有时候要把一个类似json对象的字符串转换为json对象,那么今天就来总结一下,js的方法

1. json对象转字符串

这个API很简单就是 JSON.stringify() ,只需要把你要转换的对象写到括号里就行了,下面有一个小demo

let json = {
  msg:"json转字符串",
  name:"前端林三哥",
  skill:"handsome"
}
let str = JSON.stringify(json);
console.log(str);

结果如下:

JS对象和字符串之间互换操作实例分析

很简单!

2. 字符串转json对象

有两种情况

① 规范的json转对象
② 不规范的json转对象

举个例子,怎么算规范的json呢,就是任何变量都用双引号

let json2 = '{"msg":"json转字符串","name":"前端林三哥","skill":"handsome"}'

这样,单引号里面全都是双引号,可以用 JSON.parse() 把要转的字符串放入括号里就ok了,小demo

let json2 = '{"msg":"json转字符串","name":"前端林三哥","skill":"handsome"}'
json2 = JSON.parse(json2);
console.log(json2);

结果如下

JS对象和字符串之间互换操作实例分析

再有一种不是很规范的json对象,因为我们有时候开发,js是弱类型的语言,也有不规范的时候,比如有些人就喜欢用单引号(有什么办法),比如下面的

let arr = "[{'name': '\u53d6\u6d88\u8ba2\u5355\u91cf', 'type': '1', 'value1': '<', 'value2': '100'}]";

如果我们用 JSON.parse() 的话,让我们来试试

结果如下:

JS对象和字符串之间互换操作实例分析

为什么会出现这个结果,因为我们的字符串里面并不是一个规范的json,因为规范的json,全都是用的双引号,而我们都是用的单引号,所以,我们只能用另一种办法 eval('('+ str +')')
让我们来试试

let arr = "[{'name': '\u53d6\u6d88\u8ba2\u5355\u91cf', 'type': '1', 'value1': '<', 'value2': '100'}]";
let obj = eval('('+arr+')');
console.log(obj);

结果如下:

JS对象和字符串之间互换操作实例分析

我们发现成功了,好了,今天就写到这里吧,我说了这么多,其实我在记笔记,哈哈!

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript parseInt() 函数的进制转换注意细节
Jan 08 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
Jan 24 Javascript
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
详解swiper在vue中的应用(以3.0为例)
Sep 20 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
js实现上传按钮并显示缩略图小轮子
May 04 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 Javascript
javascript的var与let,const之间的区别详解
Feb 18 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 #Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 #Javascript
JS使用canvas中的measureText方法测量字体宽度示例
Feb 02 #Javascript
JS使用对象的defineProperty进行变量监控操作示例
Feb 02 #Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 #Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 #Javascript
用Cordova打包Vue项目的方法步骤
Feb 02 #Javascript
You might like
php 设计模式之 工厂模式
2008/12/19 PHP
php 保留小数点
2009/04/21 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
javascript radio 联动效果
2009/03/04 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
公司年会策划方案
2014/05/17 职场文书
市场营销策划方案
2014/06/11 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
小学家长学校培训材料
2014/08/24 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
出生证明格式
2015/06/15 职场文书
暂住证明怎么写
2015/06/19 职场文书
《确定位置》教学反思
2016/02/18 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript