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 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
jQuery1.6 正式版发布并提供下载
May 05 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
Aug 24 Javascript
JS防止网页被嵌入iframe框架的方法分析
Sep 13 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
Nov 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
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Django框架实现的分页demo示例
2019/05/25 Python
python 随机森林算法及其优化详解
2019/07/11 Python
python实现猜拳小游戏
2020/04/05 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
九年级历史教学反思
2014/01/27 职场文书
人事专员职责
2014/02/22 职场文书
企业指导教师评语
2014/04/28 职场文书
经典演讲稿汇总
2014/05/19 职场文书
中药学专业求职信
2014/05/31 职场文书
关于保护环境的建议书
2014/08/26 职场文书
委托书怎样写
2014/08/30 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
结婚老公保证书
2015/02/26 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
工作感言一句话
2015/08/01 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python