开发时,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标签,可以将内容打印到文件中,这样既不会被解析,也可以更直观的查看内容