日期:2014-05-16 浏览次数:20383 次
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字符串
?下面是个页面端的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、服务器端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 }?