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实现收缩菜单效果实例代码
Oct 30 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
html的DOM中document对象images集合用法实例
Jan 21 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 Javascript
手把手教你使用TypeScript开发Node.js应用
May 06 Javascript
详解CocosCreator消息分发机制
Apr 16 Javascript
js基于div丝滑实现贝塞尔曲线
Sep 23 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&amp;java(一)
2006/10/09 PHP
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php进程间通讯实例分析
2016/07/11 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
Javascript - HTML的request类
2007/01/09 Javascript
页面版文本框智能提示JS代码
2009/11/20 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python简单实现旋转图片的方法
2015/05/30 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python 错误和异常代码详解
2018/01/29 Python
Python跳出多重循环的方法示例
2019/07/03 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
学生党员思想汇报
2013/12/28 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
给校长的建议书500字
2014/05/15 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
vue组件vue-esign实现电子签名
2022/04/21 Vue.js