json对象、json字符串的区别和相互转换

开发时,json字符串和json对象傻傻分不清楚,ajax异步请求后,会根据返回的data值判断请求是否成功,访问data.msg会提示‘undefined’,将data转换为json对象即可。

一、json对象、json字符串的区别

1、json对象

json对象,json对象的属性可以用对象.属性调用。

json对象的console

这里写图片描述

通过console可以明显的看到:

  • json对象的console.log()和单独使用console控制台输出json对象,结果都是object;
  • json对象的属性访问:对象.属性
  • json对象的类型可以通过typeof()查看,类型为object;

2、json字符串

json字符串是一个用单引号或者双引号引起来的字符串,因为字符串的格式符合json的格式,所以叫做json字符串。

json字符串的console

这里写图片描述

通过console可以明显的看到:

  • json字符串的console.log()输出为{“name”:”静”,”age”:”19”,”sex”:”女”},如果通过外部否有单双引号来判别是jso字符串还是json对象,这里很容易被误导。
    单独使用console控制台输出json字符串,结果”{“name”:”静”,”age”:”19”,”sex”:”女”}”;
  • json字符串无属性值,如果误以为是json对象,通过字符串.属性访问的,结果是undefined,需要将json字符串转换为json对象即可访问;
  • json对象的类型可以通过typeof()查看,类型为string;

二、json字符串和json对象的转换

1、json字符串转json对象,调用parse方法

这里写图片描述

2、json对象转为json字符串,调用JSON.stringify()方法

这里写图片描述

三、题外话

调试时,涉及到html标签,console.log()等网页会自动解析html标签,可以将内容打印到文件中,这样既不会被解析,也可以更直观的查看内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python判断两个列表内容是否一致_检查两个列表在Python中是否相同

在python数据分析中,当我们需要比较两个列表并找出它们是否具有相同元素或没有相同含义时,我们可能会遇到这种情况。例题listA [Mon,Tue,Wed,Thu]listB [Mon,Wed,Tue,Thu]# Given listsprint("Given listA: ",listA)print("Given listB…

Json对象和Json字符串的区别

JSON对象 有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台RequestBody接受的是一个json格式的字符串,一定是一个字符串。 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用&…

vuex 状态管理

一、在组件中读取 vuex 中的数据 $store.state.sum;二、组件中修改 vuex 中的数据 $store.dispatch(actions fn name, 数据) $store.commit(mutations fn name, 数据)如果没有网络请求或者其他业务逻辑,组件中也可以越过 actions(不写 dispatch 直接写…

flask mysql 1366_2017-11-17 Python Flask Script+mysql环境设置

【1.初级版】flask-scrpit安装。使用flask-scrpit可以创建命令,并在Flask的应用上下文中执行,因为这样才能对Flask对象进行修改。Flask Script自带了一些默认的命令,可以运行服务器或者开启带应用上下文的Python命令行。env) D:\python\flask…

vuex 的模块化+命名空间

一、目的:让代码更好维护,让多种数据分类更加明确 二、修改 store.js const person {namespaced: true; // 开启命名空间state: {},getters: {},actions: {},mutations: {} }const count {namespaced: true; // 开启命名空间state: {},getters: {},ac…

idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率

idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类你自己创建的类)------------- ctrlshiftt 修改你创建的变量 以及你后面都引用的变量 &#x…

apache2 php mysql_二、Linux服务器apache2+PHP7+mysql环境配置

关于网站搭建的基础知识,请见我的另一篇文章https://www.jianshu.com/p/9c65fcb14e4f此处不加赘述。本文仅介绍Linux服务器环境的配置。一、安装包下载与安装1.安装apache2sudo apt-get install apache22.安装PHP//-y的意思是全部默认选择yes//8条命令分8次输入//1s…

前端给后端传递数据的时候,有些后端自己可以获取到的值应该由前端传递吗?

前端给后端传递数据的时候,有些后端自己可以获取到的值应该由前端传递吗? 场景: 1.比如我向后端传递一个学生做的试卷. 2.后端需要我把学生的答案和标准答案(在获取试卷的时候给我的,我知道很扯淡)同时传递给他. 我认为标准答案没必要传给他 ,因为他可以根据我传给他的试卷…

mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库

一、mysqldump的工作原理、利用mysqldump命令备份数据的过程,实际上就是把数据从mysql库以逻辑的sql语句的形式直接输出或生成备份的文件的过程利用这个备份文件恢复的时候的原理?就是把备份的sql命令再执行一遍。二、备份多个库mysql>show databases…

关于引入 js 文件

一、说说 script 标签的几个常用属性 async 表示立即下载该 js 文件,但不妨碍页面中的其他操作(只对外部 js 文件有效)defer 表示该 js 文件可以延迟到整个页面被解析并显示之后再执行(只对外部 js 文件有效)src 指定…

mysql where条件使用了or会不会扫全表

mysql where条件使用了or会不会扫全表 是的 但是使用索引在某些情况下可以避免的: 1、where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 2、必须所有的or条件都必须是独立索引 3、用UNION替换OR (适用于索引列) 4、用in来替换or 不管用不…

mysql 数据库 文件夹_mysql 数据库 文件夹

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

JS 深浅拷贝

在日常开发当中那面会遇到对象拷贝问题 一、对象浅拷贝(shallowClone) 使用 Object.assign 把源对象自身的、可枚举的属性拷贝到目标对象上 var person {name: 张三,age: 18,sex: 男,hobbies: [篮球, 足球, 排球],sayName: function () {console.log(t…

mysql事务回滚后,自增ID仍然增加

事务回滚后,自增ID仍然增加 回滚后,自增ID仍然增加。 比如当前ID是7,插入一条数据后,又回滚了。 然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9. 因为虽然你之前插入回滚&#…

mysql is needed by_libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.9-1.el6.x86_64

今天在安装 MYSQL -5.7.9的时候,rpm -Uvh mysql-community-server-5.7.9-1.el6.x86_64.rpm提示:warning: mysql-community-server-5.7.9-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:libnuma.so…

MySQL 查询速度慢与性能差的原因与解决方法

MySQL 查询速度慢与性能差的原因与解决方法 更新时间:2019年09月26日 18:05:47 作者:Microtiger 随着网站数据量与访问量的增加,MySQL 查询速度慢与性能差的问题就日渐明显,这里为大家分享一下解决方法,需要的朋友可以参考下 一…

重写JS数组常用方法

Array.prototype.forEach 没有返回值 参数1:遍历数组时需要执行的回调函数 回调函数参数1:数组的每一项 item回调函数参数2:每一项的下标 index回调函数参数3:整个数组 array 参数2:这个回调函数的 this 指向 Array.pr…

mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...

首先你要理解什么是时间戳。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至某一时间点的总秒数。例如北京时间2015-12-31 17:00:00的时间戳是1451552400,就是指从北京时间1970-01-01 08:00:00到2015-12-31 17:00:00已经…

MySQL 批量插入数据,单次插入多少条数据效率最高

文章目录一、前言二、批量插入前准备1、插入到数据表的字段2、计算一行字段占用的空间3、在数据里做插入操作的时候,整体时间的分配三、批量插入数据测试1、SQL语句的大小限制2、查看服务器上的参数:3、计算一次能插入的最大行记录4、测试插入数据比对&a…

重写 typeof 方法

重写 typeof 方法 function myTypeof(str) {var toStr Object.prototype.toString,typeofStr typeof(str),typeTemp {[object Object]: object, // 检测对象[object String]: object-string, // 检测包装类 String[object Number]: object-number, // 检测包装类 Number[ob…