援引一段定义“JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。”
在这次看json的时候,我努力去寻找下面几个问题的答案:
1.为什么用json,都是说js原生格式,到底是什么?
2.在js和java中,能方便的把对象转换成json的格式吗?
3.又如何把jsonString恢复成js以及java中的对象?
一。对于json格式的定义,先花5分钟看这个页面:http://www.json.org/json-zh.html(到底是官方站...几个简单的图就把东西全画出来,一目了然).首先需要了解一下json的格式然后才能继续。
二。再通过下面这段js,来看看json格式定义的东西,到底好在哪里呢?
function showJSON() ...{
var user =
...{
"username":"andy",
"age":20,
"info": ...{ "tel": "123456", "cellphone": "98765"},
"address":
[
...{"city":"beijing","postcode":"222333"},
...{"city":"newyork","postcode":"555666"}
]
}
alert(user.username);
alert(user.address[0].postcode);
}
看到了吗,按JSON格式定义的var user, 可以直接使用user.username这种格式直接操作。对于比较复杂的bean,能用这种.进行直接访问操作,大概是最简单的方式了。json的便利性,就是来源自这种js的原生格式。
三。js的Object转jsonString: JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简 单的使用object.toJSONString()转换成JSON数据。
function Car(make, model, year, color) ...{
this.make = make;
this.model = model;
this.year = year;
this.color = color;
}
function showCar() ...{
var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
alert(carr.toJSONString());
}
四。js的jsonString转Object:
1.使用eval来转换JSON字符到Object
function myEval() ...{
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = eval('(' + str + ')');
alert(obj);
}
2.使用parseJSON()方法
function myEval() ...{
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = str.parseJSON();
alert(obj);
}
五。java中的bean转jsonString
json对java的支持提供了几个类,参阅http://www.json.org/java/index.html。
将一个javabean变成json对象可以使用JSONObject(java.lang.Object bean)构造.这个对象覆盖了toString方法,调用toString() 就可以得到JSON string.
toString() Make a JSON text of this JSONObject.
一下代码演示一个javaBean对象封装成json的过程
public class Users implements java.io.Serializable ...{
// Fields
private String userAccount;
private String userPwd;
// Constructors
public Users() ...{
}
public Users(String userAccount, String userPwd) ...{
this.userAccount = userAccount;
this.userPwd = userPwd;
}
// Property accessors
public String getUserAccount() ...{
return this.userAccount;
}
public void setUserAccount(String userAccount) ...{
this.userAccount = userAccount;
}
public String getUserPwd() ...{
return this.userPwd;
}
public void setUserPwd(String userPwd) ...{
this.userPwd = userPwd;
}
}
public class MMM ...{
public static void main(String[] args) ...{
Users u = new Users("张三","123456");
JSONObject jo = new JSONObject(u);
System.out.println(jo.toString());
try ...{
System.out.println(jo.get("userPwd"));
} catch (JSONException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
上面引用了以下几个url的资料,呵呵:)感谢这些朋友的share
http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html
http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/
http://www.iteye.com/topic/71343
分享到:
相关推荐
Json学习 Json学习 Json学习 Json学习
json 实现ajax 返回对象 操作 json 学习 json研究
java学习资料json的源代码 欢迎大家下载学习
json 学习帮助文档 json 学习帮助文档 json 学习帮助文档
Json学习的ppt
四轧json学习学习111111
JavaScript数组对象JSON学习笔记,推荐
js遍历xml 遍历json学习
个人关于设备的json学习
Json学习笔记,你的必选哦,与大家共享,一起进步
什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与...
json学习笔记、jackson的jar包、核心代码段。
本人学习 json总结希望 可以 给各位朋友 点 帮助
WCF,json
Json入门学习,包含了所需的所有jar包,学习资料等,希望对初学者的入门学习提高一些帮助。
JSON学习教程,是学习json不错的选择和好的帮手
Ajax,Json的学习笔记
介绍了json的三个工具struts json,json_lib, jackson-mapper 的使用方法和一些常见错误处理
尽管【JSON】是【JavaScript】的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯 { firstName:Tom, lastName:Smith, sex:male, age:23, married:false, address: { ...