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 相关文章推荐
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
Mar 05 Javascript
jquery实现的缩略图预览滑块实例
Jun 25 Javascript
jQuery fadeOut 异步实例代码详解
Aug 18 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
jQuery无刷新上传之uploadify简单代码
Jan 17 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
Jul 05 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
Vue微信公众号网页分享的示例代码
May 28 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实现CSV文件导入和导出
2015/10/24 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
pandas参数设置的实用小技巧
2020/08/23 Python
selenium自动化测试入门实战
2020/12/21 Python
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
小学门卫岗位职责
2013/12/17 职场文书
大学生军训广播稿
2014/01/24 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
杨善洲电影观后感
2015/06/04 职场文书
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python