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 相关文章推荐
JavaScript CSS菜单功能 改进版
Dec 20 Javascript
JavaScript日历实现代码
Sep 12 Javascript
Jquery取得iframe下内容的方法
Nov 18 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
数组Array的一些方法(总结)
Feb 17 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
Sep 20 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
解决vue路由后界面没有变化,但是链接有的问题
Sep 01 Javascript
vue中使用rem布局代码详解
Oct 30 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 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 获取本地IP代码
2013/06/23 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python实现redis三种cas事务操作
2017/12/19 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
社区综治工作汇报
2014/10/27 职场文书
期末考试复习计划
2015/01/19 职场文书
小班下学期个人总结
2015/02/12 职场文书
节水宣传标语口号
2015/12/26 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python