九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
JSON介紹

JSON介紹

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


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

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

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

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

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

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

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

     ☆JSON操作
     1)JSON字符串轉(zhuǎn)換成JAVAScript對象(調(diào)用eval()[JSON本來就是JS的一個子集,所以可以使用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. 上面的代碼也可省略屬性的雙引號,如下    
  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對象轉(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實現(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中運用JSON(比使用DOM解析XML簡單) 一個在AJAX中運用JSON的簡單例子
  在響應(yīng)的程序中輸入返回的值:

  out.println("{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}");
  在頁面上(點確定頁面上會顯示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中運用Json(需要下載json的java開發(fā)包) Java中運用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. }  
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Ext框架的Grid使用介紹
json-rpc-java (一)
JSON:Java--解析(讀取)Json數(shù)據(jù)
json從立地到成佛
json格式的字符串序列化和反序列化的一些高級用法
json2.js json.jar - xiejiaohui - JavaEye技術(shù)網(wǎng)站
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服