a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样
b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;
JSON对象:
var str2 = { "name": "deluyi", "sex": "man" }; //json对象
JSON字符串:
var str1 = '{ "name": "deyuyi", "sex": "man" }'; //json字符串
将"JSON字符串"转化为"JSON对象"的方法:
一:使用$.parseJSON(str) 注:jQuery插件支持的转换方式
//由JSON字符串转换为JSON对象
var str='{ "name": "John" }';
var obj = $.parseJSON(str)
alert("1"+ obj.name); //结果:1John
ps:此种方式仅支持标准格式:var str='{ "name": "John" }';
二:JSON.parse(str) 注:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器
var str = '{ "name": "mady", "age": "24" }';
var obj = JSON.parse(str);
alert(obj.name);
ps:此种方式仅支持标准格式:var str='{ "name": "John" }';
三:使用eval('('+str+')'); 注:Javascript支持的转换方式:
//由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对象"转化为"JSON字符串"的方法
使用全局方法JSON.stringify()
var str = { "name": "mady", "age": "24" };
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
读取JSON对象
var str2 = { "name": "mady", "sex": "man" };
alert(str2.name);//和C#一样直接往出点…
弹出” mady”。
var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};
alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次