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实现DIV的一些简单控制
Jun 04 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
js+div实现文字滚动和图片切换效果代码
Aug 27 Javascript
Bootstrap零基础学习第一课之模板
Jul 18 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
node.JS路径解析之PATH模块使用方法详解
Feb 06 Javascript
浅谈Vue 自动化部署打包上线
Jun 14 Javascript
微信小程序实现简单购物车功能
Dec 30 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
PHP中的array数组类型分析说明
2010/07/27 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
JavaScript URL参数读取改进版
2009/01/16 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python中的多重装饰器
2015/04/11 Python
详解Python中的文件操作
2016/08/28 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
Python 字符串池化的前提
2020/07/03 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
国培计划培训感言
2014/03/11 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
追悼会答谢词
2015/01/05 职场文书
银行自荐信怎么写
2015/03/05 职场文书
联谊活动总结范文
2015/05/09 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
律师函格式范本
2015/05/27 职场文书
2019消防宣传标语!
2019/07/10 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL