JSON和XML都是基於文本的,兩者都使用Unicode編碼。JSON和XML都很容易閱讀。主觀上,JSON更清晰,冗余更少。XML適合標記文檔(配置文件),JSON更適合數據交換。
JSON操作
1)JSON字符串轉換成JavaScript對象(調用eval()[JSON本來就是JS的一個子集,所以可以使用JS的解釋器])
- package woxingwosu;
- import Java.io.BufferedReader;
- import Java.io.BufferedWriter;
- import Java.io.FileReader;
- import Java.io.FileWriter;
- import org.json.JSONObject;
- import org.JSon.XML;
- public class XML2JSON {
- public static void main(String[] args) {
- BufferedReader buffRed=null;
- BufferedWriter buffWri=null;
- try{
- //將XML轉換成JSON
- String fileName1="woxingwosu.XML";
- buffRed=new BufferedReader(new FileReader(fileName1));
- String tempStr;
- StringBuffer XMLStrBuff=new StringBuffer();
- while((tempStr=buffRed.readLine())!=null)
- XMLStrBuff.append(tempStr);
- System.out.println("JSON str="+XML.toJSONObject(XMLStrBuff.toString()));
- //將JSON轉換成XML
- String JSonStr="{Heros:{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}};";
- String fileName2="myxml.XML";
- buffWri=new BufferedWriter(new FileWriter(fileName2));
- JSONObject JSonObj=new JSONObject(JSonStr);
- buffWri.write("<?XML version=\"1.0\" encoding=\"GBK\"?>");
- buffWri.newLine();
- buffWri.write("<!DOCTYPE propertIEs SYSTEM \"http://Java.sun.com/dtd/propertIEs.dtd\">");
- buffWri.newLine();
- buffWri.write(XML.toString(JSonObj));
- buffWri.flush();
- System.out.println("run end!");
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- try{
- if(buffRed!=null)
- buffRed.close();
- if(buffWri!=null)
- buffWri.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- }
JSON和XML是一種有用的、輕量級協議,現在可用於 PHP V5.2,它可以輕松地實現從 PHP 應用程序中提取出數據,並將其放入 AJax 應用程序的過程。相應地,PHP 中的 JSON 同樣也是輕量級且十分有用的,只包含兩個易於使用的函數。使用這些函數,我們可以轉換和導出對象結構,還可以使用 JSon_encode() 使來自 PHP 數據庫連接的數據可用於 AJax 應用程序。
在 AJax 應用程序中處理完數據後,可以將數據返回 PHP 腳本並用 JSon_decode() 重新創建可用的對象數據結構。當把數據返回到 PHP 後,我們可以將其存儲到數據庫中,或使用JSON和XML提供的眾多選擇中的任何其他數據處理方法。