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 相关文章推荐
JS实现打开本地文件或文件夹
Mar 09 Javascript
分享一个asp.net pager分页控件
Jan 04 Javascript
node.js中的path.join方法使用说明
Dec 08 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
利用Angularjs实现幻灯片效果
Sep 07 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
Jun 02 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
微信小程序实现二维码签到考勤系统
Jan 16 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 组件化编程技巧
2009/06/06 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php链表用法实例分析
2015/07/09 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python多继承原理与用法示例
2018/08/23 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
用django设置session过期时间的方法解析
2019/08/05 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
python解析yaml文件过程详解
2019/08/30 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
工作经验交流材料
2014/12/30 职场文书
市场部经理岗位职责
2015/02/02 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
新郎结婚保证书
2015/02/26 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
升职自荐书
2019/05/09 职场文书
详解Python flask的前后端交互
2022/03/31 Python
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android
Vue深入理解插槽slot的使用
2022/08/05 Vue.js