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代码
Nov 12 Javascript
node.js WEB开发中图片验证码的实现方法
Jun 03 Javascript
Google Maps API地图应用示例分享
Oct 23 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
js实现select下拉框菜单
Dec 08 Javascript
thinkjs之页面跳转同步异步操作
Feb 05 Javascript
vue中mint-ui环境搭建详细介绍
Apr 06 Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
分享vue.js devtools遇到一系列问题
Oct 24 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
js实现简单进度条效果
Mar 25 Javascript
vue实现商品列表的添加删除实例讲解
May 14 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
在Windows版的PHP中使用ADO
2006/10/09 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
js实现点击烟花特效
2020/10/14 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
英文版区域经理求职信
2013/10/23 职场文书
微观物理专业自荐信
2014/01/26 职场文书
优秀干部获奖感言
2014/01/31 职场文书
保护环境倡议书500字
2014/05/19 职场文书
增员口号大全
2014/06/18 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
外国人来华邀请函
2015/01/31 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Python入门学习之类的相关知识总结
2021/05/25 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js