json字符串和json对象的区别是什么?详情分析

json是一种轻量级的数据交换格式,在实际开发中,很多对json字符串和json对象分不清楚,也不知道json字符串和json对象的应用方式,那么下面我们就给大家分析json字符串和json对象的区别。

1、json对象

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

json对象的console

json字符串和json对象的区别是什么?详情分析.png

通过console可以明显的看到:

json对象的console.log()和单独使用console控制台输出json对象,结果都是object;

json对象的属性访问:对象.属性

json对象的类型可以通过typeof()查看,类型为object;

2、json字符串

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

json字符串的console

1.png

通过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对象方法:

一:使用$.parseJSON(str)

//由JSON字符串转换为JSON对象
var str='{ "name": "John" }';
var obj = jQuery.parseJSON(str)
alert("1"+ obj.name);

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

二:JSON.parse(str)

var str = '{ "name": "mady", "age": "24" }';
var obj = JSON.parse(str);
alert(obj.name);

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

三:使用eval('('+str+')');

//由JSON字符串转换为JSON对象
var str='{ "name": "John" }';
var obj = eval('(' + str + ')');
alert( obj.name);
var str2="{ 'name': 'John' }";
var obj2 = eval('(' + str2 + ')');
alert( obj2.name);
var str3="{ name: 'John' }";
var obj3 = eval('(' + str3 + ')');
alert( obj3.name);

以上均会输出结果“john”。

Eval方式可以转换以下标准和非标准格式字符串:

var str="{ 'name': 'John' }";
var str2='{ "name": "John" }';
var str3="{ name: 'John' }";

其实json对象是直接可以使用JQuery操作的格式,但是JSON字符串仅仅只是一个字符串,对于JSON字符串转化为JSON对象方法大家一定要会!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

java面试基础选择题有哪些?java面试基础选择题及答案

java中继承和派生的区别是什么?实例分析

eclipse快捷键syso怎么用?syso快捷键无法使用怎么办?