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 全角转换实现代码
Jul 17 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
JS数组array元素的添加和删除方法代码实例
Jun 01 Javascript
详解Angular的数据显示优化处理
Dec 26 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
使用vue开发移动端管理后台的注意事项
Mar 07 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python getopt 参数处理小示例
2009/06/09 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
Django的分页器实例(paginator)
2017/12/01 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
python 对key为时间的dict排序方法
2018/10/17 Python
详解python:time模块用法
2019/03/25 Python
Python2与Python3的区别实例分析
2019/04/11 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
详解python内置模块urllib
2020/09/09 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
医生进修自我鉴定
2014/01/19 职场文书
教师演讲稿大全
2014/05/16 职场文书
创先争优标语
2014/06/27 职场文书
初中生物教学反思
2016/02/20 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
python游戏开发Pygame框架
2022/04/22 Python