好笑的是搞了一年开发都从来没用过这个东西······学无止尽啊!
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用法,它还有一些高级的字符转换之类的今天就不写了···