免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JSON介紹

JSON介紹

☆JSON介紹
     JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。(官方網(wǎng)站http://www.json.org)


    ☆JSON語(yǔ)法
     JSON的語(yǔ)法很簡(jiǎn)單,就是使用大括號(hào)'{}',中括號(hào)'[]',逗號(hào)',',冒號(hào)':',雙引號(hào)'“”'。數(shù)據(jù)類型:嵌套對(duì)象、數(shù)組、字符串、數(shù)字、布爾值或空值(來(lái)自官方網(wǎng)站http://www.json.org/json-zh.html)

     1)對(duì)象是一個(gè)無(wú)序的“‘名稱/值’對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值’ 對(duì)”之間使用“,”(逗號(hào))分隔。

     2)數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。

     3)值(value)可以是雙引號(hào)括起來(lái)的字符串(string)、數(shù)值(number)、true、false、 null、對(duì)象(object)或者數(shù)組(array)。這些結(jié)構(gòu)可以嵌套。

     4)字符串(string)是由雙引號(hào)包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個(gè)字符(character)即一個(gè)單獨(dú)的字符串(character string)。 字符串(string)與C或者Java的字符串非常相似。

     5)數(shù)值(number)也與C或者Java的數(shù)值非常相似。除去未曾使用的八進(jìn)制與十六進(jìn)制格式。除去一些編碼細(xì)節(jié)。

    ☆JSON優(yōu)勢(shì)
     1)簡(jiǎn)潔明了,操作方便(對(duì)比XML)
     JSON和XML都是基于文本的,兩者都使用Unicode編碼。JSON和XML都很容易閱讀。主觀上,JSON更清晰,冗余更少。XML適合標(biāo)記文檔(配置文件),JSON更適合數(shù)據(jù)交換。

     ☆JSON操作
     1)JSON字符串轉(zhuǎn)換成JAVAScript對(duì)象(調(diào)用eval()[JSON本來(lái)就是JS的一個(gè)子集,所以可以使用JS的解釋器])
Js代碼
  1. <script>   
  2.   var my_json='{"FBI":[{"name":"rose","age":"25"},{"name":"jack","age":"25"}],"NBA":[{"name":"tom","sex":"man"},{"name":"jack","sex":"women"}]}';   
  3.   var my_object=eval('('+my_json+')');   
  4.   document.writeln(my_object.FBI[1].name);   
  5. </script>  

Js代碼
  1.       
  2. 上面的代碼也可省略屬性的雙引號(hào),如下    
  3. <script>   
  4.   var my_json='{FBI:[{name:"rose",age:"25"},{name:"jack",age:"25"}],NBA:[{name:"tom",sex:"man"},{name:"jack",sex:"women"}]}';   
  5.   var my_object=eval('('+my_json+')');   
  6.   document.writeln(my_object.FBI[1].name);   
  7. </script>  


     2)將JS對(duì)象轉(zhuǎn)換成JSON字符串(調(diào)用toJSONString,需要下載json.js[http://www.json.org/json.js])
Js代碼
  1. <script src="json.js"></script>   
  2. <script>   
  3. var my_object={   
  4.     FBI:[   
  5.     {name:"rose",age:"25"},   
  6.     {name:"jack",age:"25"}   
  7.     ],   
  8.     NBA:[   
  9.     {name:"tom",sex:"man"},   
  10.     {name:"jack",sex:"women"}   
  11.     ]   
  12. };   
  13. document.writeln(my_object.toJSONString());   
  14. </script>  

     3)XML與JSON轉(zhuǎn)換(需要下載json.org提供的JAVA類,json.zip[http://www.json.org/java/json.zip]),代碼如下: JAVA實(shí)現(xiàn)XML與JSON之間的轉(zhuǎn)換
Java代碼
  1. package woxingwosu;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.BufferedWriter;   
  5. import java.io.FileReader;   
  6. import java.io.FileWriter;   
  7.   
  8. import org.json.JSONObject;   
  9. import org.json.XML;   
  10.   
  11. public class XMl2JSON {   
  12.   
  13.   
  14.     public static void main(String[] args) {   
  15.         BufferedReader buffRed=null;   
  16.         BufferedWriter buffWri=null;   
  17.         try{   
  18.             //將XML轉(zhuǎn)換成JSON   
  19.             String fileName1="woxingwosu.xml";   
  20.             buffRed=new BufferedReader(new FileReader(fileName1));   
  21.             String tempStr;   
  22.             StringBuffer xmlStrBuff=new StringBuffer();   
  23.             while((tempStr=buffRed.readLine())!=null)   
  24.                 xmlStrBuff.append(tempStr);   
  25.             System.out.println("JSON str="+XML.toJSONObject(xmlStrBuff.toString()));   
  26.                
  27.             //將JSON轉(zhuǎn)換成XML   
  28.             String jsonStr="{Heros:{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}};";   
  29.             String fileName2="myxml.xml";   
  30.             buffWri=new BufferedWriter(new FileWriter(fileName2));   
  31.             JSONObject jsonObj=new JSONObject(jsonStr);   
  32.             buffWri.write("<?xml version=\"1.0\" encoding=\"GBK\"?>");   
  33.             buffWri.newLine();   
  34.             buffWri.write("<!DOCTYPE properties SYSTEM \"http://java.sun.com/dtd/properties.dtd\">");   
  35.             buffWri.newLine();   
  36.             buffWri.write(XML.toString(jsonObj));   
  37.             buffWri.flush();   
  38.                
  39.             System.out.println("run end!");   
  40.         }catch(Exception e){   
  41.             e.printStackTrace();   
  42.         }finally{   
  43.             try{   
  44.                 if(buffRed!=null)   
  45.                     buffRed.close();   
  46.                 if(buffWri!=null)   
  47.                     buffWri.close();   
  48.             }catch(Exception e){   
  49.                 e.printStackTrace();   
  50.             }   
  51.         }   
  52.     }   
  53. }  


woxingwosu.xml
Xml代碼
  1. <?xml version="1.0" encoding="GBK"?>    
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">    
  3. <properties>    
  4. <entry key="no">woxingwosu</entry>    
  5. <entry key="name">我行我素</entry>    
  6. </properties> 輸出結(jié)果: xml2json結(jié)果   
  7. JSON str={"properties":{"entry":[{"key":"no","content":"woxingwosu"},{"key":"name","content":"我行我素"}]}}json2xml結(jié)果   
  8. <?xml version="1.0" encoding="GBK"?>  
  9. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
  10. <Heros><NBA><sex>man</sex><name>tom</name></NBA><NBA><sex>women</sex><name>jack</name></NBA><FBI><age>25</age><name>rose</name></FBI><FBI><age>25</age><name>jack</name></FBI></Heros>  


    4)AJAX中運(yùn)用JSON(比使用DOM解析XML簡(jiǎn)單) 一個(gè)在AJAX中運(yùn)用JSON的簡(jiǎn)單例子
  在響應(yīng)的程序中輸入返回的值:

  out.println("{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}");
  在頁(yè)面上(點(diǎn)確定頁(yè)面上會(huì)顯示jack)
Js代碼
  1. <script language="javascript" src="js/prototype.js"></script>   
  2. <input type="button" onclick="loadInfo()" value="確定"/>   
  3. <script>   
  4. function loadInfo(){   
  5.     new Ajax.Request("hello",{   
  6.             onComplete:function(req){   
  7.                 var res=eval("("+req.responseText+")");   
  8.                 $('mydiv').innerHTML=res.FBI[1].name;   
  9.             }   
  10.         }   
  11.     );   
  12. }   
  13. </script>   
  14. <div id="mydiv"></div>  


    4)Java中運(yùn)用Json(需要下載json的java開發(fā)包) Java中運(yùn)用Json
Java代碼
  1. package callCenterServer;   
  2.   
  3. import java.util.ArrayList;   
  4. import org.json.JSONArray;   
  5. import org.json.JSONObject;   
  6.   
  7.   
  8. public class Test {   
  9.   
  10.     /**  
  11.      * @param args  
  12.      */  
  13.     public static void main(String[] args) throws Exception{   
  14.         ArrayList<Area> areas=new ArrayList<Area>();   
  15.         areas.add(new Test.Area("福建","福州"));   
  16.         areas.add(new Test.Area("福建","廈門"));   
  17.         areas.add(new Test.Area("福建","泉州"));   
  18.         areas.add(new Test.Area("四川","成都"));   
  19.         areas.add(new Test.Area("四川","攀枝花"));   
  20.         JSONObject jsonObject=new JSONObject();   
  21.         for(Test.Area area:areas){   
  22.             if(jsonObject.has(area.province)){   
  23.                 JSONArray jsonArray=(JSONArray)jsonObject.get(area.province);   
  24.                 jsonArray.put(area.city);   
  25.             }else{   
  26.                 JSONArray jsonArray=new JSONArray();   
  27.                 jsonArray.put(area.city);   
  28.                 jsonObject.put(area.province, jsonArray);   
  29.             }   
  30.         }   
  31.         System.out.println(jsonObject);   
  32.     }   
  33.        
  34.     static class Area{   
  35.         private final String province;   
  36.         private final String city;   
  37.         Area(String province,String city){   
  38.             this.province=province;   
  39.             this.city=city;   
  40.         }   
  41.     }   
  42.        
  43. }  
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Ext框架的Grid使用介紹
json-rpc-java (一)
JSON:Java--解析(讀取)Json數(shù)據(jù)
json從立地到成佛
json格式的字符串序列化和反序列化的一些高級(jí)用法
json2.js json.jar - xiejiaohui - JavaEye技術(shù)網(wǎng)站
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服