博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json 对象和json字符串
阅读量:4659 次
发布时间:2019-06-09

本文共 1731 字,大约阅读时间需要 5 分钟。

转载至  http://www.cnblogs.com/cstao110/p/3762056.html

Q:什么是"JSON字符串",什么是"JSON对象",两者的区别?

a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样

b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;

 

JSON对象:

var str2 = { "name": "deluyi", "sex": "man" };

JSON字符串:

var str1 = '{ "name": "deyuyi", "sex": "man" }';

 

Q:将"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' }";

 

Q:将"JSON对象"转化为"JSON字符串"的方法?

一:使用全局方法JSON.stringify()与toJSONString()

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

 

Q:读取JSON对象的方法?

如上面的例子:

var str2 = { "name": "mady", "sex": "man" };

就可以这样读取:

alert(str2.name);//和C#一样直接往出点…

弹出” mady”。

我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如:

var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};

解析用:

alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次

弹出:”mady”。

 *  ******使用$.ajax时参数要写成JSON字符串的格式,使用$.post是参数要写成JSON对象的格式

 

转载于:https://www.cnblogs.com/whl4835349/p/7763437.html

你可能感兴趣的文章
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
第二阶段站立会议7
查看>>
JAVA多线程
查看>>
delphi 更改DBGrid 颜色技巧
查看>>
POJ 2031 Building a Space Station
查看>>
任意阶幻方(魔方矩阵)C语言实现
查看>>
织梦教程
查看>>
杭电多校 Harvest of Apples 莫队
查看>>
C/C++心得-结构体
查看>>