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 判断函数类型完美解决方案
Sep 02 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
JavaScript字符串String和Array操作的有趣方法
Dec 18 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
JavaScript中Date对象的常用方法示例
Oct 24 Javascript
jquery tmpl模板(实例讲解)
Sep 02 jQuery
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
js计算两个日期间的天数月的实例代码
Sep 20 Javascript
vue实现折线图 可按时间查询
Aug 21 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 Javascript
vue监听键盘事件的相关总结
Jan 29 Vue.js
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 Curl多线程原理实例详解
2013/11/06 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
关于this和self的使用说明
2010/08/01 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
js简单抽奖代码
2015/01/16 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
python url 参数修改方法
2018/12/26 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
python打包生成so文件的实现
2020/10/30 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
一道Delphi面试题
2016/10/28 面试题
大型活动组织方案
2014/05/10 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
学术会议通知范文
2015/04/15 职场文书
幸福终点站观后感
2015/06/04 职场文书
python b站视频下载的五种版本
2021/05/27 Python