JSON学习心得
时间:2010-09-16 来源:有颜在先
好笑的是搞了一年开发都从来没用过这个东西······学无止尽啊!
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。
首先是JSON的数据格式:
一般来讲JSON只有两种数据形态,即大括号“{}”和中括号“[]”。
大括号可以认为是一个对象的数据,例如person1{name:elliot,age:24,company:XXX},即表示一个对象的界限,其中包括用逗号分隔的多个键值对(属性名:属性
值);
中括号可以认为是存放对象的数组,例如[person1,person2,person3······],即作为对象数组形式属性的界限,其中包括多个用逗号隔开的值(也可以是复杂结构的
值);
一般用到的JSON的数据结构就这些,下来讲下基本的用法:
我们首先要下载JSON中对JS的支持文件json.js以及对JSON对于JAVA支持的实现JAR文件;
json.js中提供了JSON对象,它主要包括两个函数,用于JSON字符串和对象间的转换:
//这是JAVA<-->JS基本的数据解析接口
1 var o = JSON.parse(jsonStr);//将JSON字符串转化成Javascript对象
2 var s = JSON.stringify(obj); //将Javascript对象转化成JSON字符串
1 var o = JSON.parse(jsonStr);//将JSON字符串转化成Javascript对象
2 var s = JSON.stringify(obj); //将Javascript对象转化成JSON字符串
下面是个页面端的JS代码
1 function getPersonObject(){
2 return new Person("elliot", "man");
3 }
function Person(name, sex){
4 this.name = name;
5 this.sex= sex;
6 }
function sayHelloToPerson(){
7 var person = getPersonObject();
//将JAVASCRIPT对象转换为JSON字符串供JAVA服务端调用
8 var personAsJSON = JSON.stringify(person);
9 alert("Hello "+personAsJSON );
10 }
2 return new Person("elliot", "man");
3 }
function Person(name, sex){
4 this.name = name;
5 this.sex= sex;
6 }
function sayHelloToPerson(){
7 var person = getPersonObject();
//将JAVASCRIPT对象转换为JSON字符串供JAVA服务端调用
8 var personAsJSON = JSON.stringify(person);
9 alert("Hello "+personAsJSON );
10 }
2、服务器端JAVA代码
1 import org.json.JSONException;
2 import org.json.JSONObject;
3 //首先需要定义一个JSON对象
4 JSONObject jsonObject = null;
5 String json = readJSONStringFromRequestBody(request);//获取一个request传来的json字符串
6 try{
7 jsonObject = new JSONObject(json);
8 }catch(JSONException e){
9 System.out.println("JSONException");
10 e.printStackTrace();
11 }
12 String name= "";
13 String sex= "";
14 try {
15 name = jsonObject.getString("name");
16 sex = jsonObject.getString("sex");
17 } catch (JSONException e1) {
18 System.out.println("JSONException");
19 e1.printStackTrace();
20 }
2 import org.json.JSONObject;
3 //首先需要定义一个JSON对象
4 JSONObject jsonObject = null;
5 String json = readJSONStringFromRequestBody(request);//获取一个request传来的json字符串
6 try{
7 jsonObject = new JSONObject(json);
8 }catch(JSONException e){
9 System.out.println("JSONException");
10 e.printStackTrace();
11 }
12 String name= "";
13 String sex= "";
14 try {
15 name = jsonObject.getString("name");
16 sex = jsonObject.getString("sex");
17 } catch (JSONException e1) {
18 System.out.println("JSONException");
19 e1.printStackTrace();
20 }
这就是简单的JSON用法,它还有一些高级的字符转换之类的今天就不写了···
相关阅读 更多 +