DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 使用服務器進行處理JSON 解析器說明介紹
使用服務器進行處理JSON 解析器說明介紹
編輯:XML詳解     

在此時,您在客戶端所做的選擇(比如使用 JavaScript 對象,然後將其轉換成 JSON 字符串)必須要與服務器端的選擇相匹配,比如使用哪個 API 解碼 JSON 數據。管在服務器端使用何種語言,在服務器端處理  JSON 解析器基本上就需要兩個步驟。

針對編寫服務器端程序所用的語言,找到相應的 JSON 解析器/工具箱/幫助器 API。 使用 JSON 解析器/工具箱/幫助器 API 取得來自客戶機的請求數據並將數據轉變成腳本能理解的東西。 以上差不多就是目前所應了解的大致內容了。接下來,我們對每個步驟進行較為詳細的介紹。

尋找 JSON 解析器或工具箱最好的資源是 JSON 站點(有關鏈接,請參閱 參考資料)。在這裡,除了可以了解此格式本身的方方面面之外,還可以通過各種鏈接找到 JSON 的各種工具和解析器,從 ASP 到 Erlang,到 Pike,再到 Ruby,應有盡有。

  • 闡述JSON轉化的結構事實說明介紹
  • 如何更好的進行XML轉換為JSON問題介紹
  • 詳細說明JSON字符串的使用和維護工作
  • 詳細說明學習JSON的相關技巧與對策
  • 闡述使用JSon傳輸協議的方式

您只需針對自己編寫腳本所用的語言下載相應的工具箱即可。為了讓服務器端腳本和程序能夠使用此工具箱,可以根據情況對其進行選擇、擴展或安裝(如果在服務器端使用的是 C#、PHP 或 Lisp,則可變性更大)。

例如,如果使用的是 JSON 解析器,可以簡單將其升級至 PHP 5.2 並用它完成操作;在 PHP 這個最新版本默認包含了 JSON 擴展。實際上,那也是在使用 PHP 時處理 JSON 的最好方法。如果使用的是 Java servlet,JSon.org 上的 org.JSon 包顯然就是個不錯的選擇。

在這種情況下,可以從 JSON Web 站點下載 JSon.zip 並將其中包含的源文件添加到項目構建目錄。編譯完這些文件後,一切就就緒了。對於所支持的其他語言,同樣可以使用相同的步驟;使用何種語言取決於您對該語言的精通程度,最好使用您所熟悉的語言。

一旦獲得了程序可用的資源,剩下的事就是找到合適的方法進行調用。比如,假設為 PHP 使用的是 JSON-PHP 模板:

  1. // This is just a code fragment from a larger PHP server-side script  
  2. require_once('JSON.PHP');  
  3. $JSon = new Services_JSON();  
  4. accept POST data and decode it  
  5. $value = $JSon->decode($GLOBALS['HTTP_RAW_POST_DATA']);  
  6. Now work with value as raw PHP 

通過該模板,可將獲得的所有數據(數組格式的、多行的、單值的或 JSON 數據結構中的任何內容)轉換成原生 PHP 格式,放在 $value 變量中。如果在 servlet 中使用的是 org.JSon 包,則會使用如下代碼:

  1. public void doPost(HttpServletRequest request, HttpServletResponse response)  
  2.   throws ServletException, IOException {  
  3.  
  4.   StringBuffer jb = new StringBuffer();  
  5.   String line = null;  
  6.   try {  
  7.     BufferedReader reader = request.getReader();  
  8.     while ((line = reader.readLine()) != null)  
  9.       jb.append(line);  
  10.   } catch (Exception e) { //report an error }  
  11.  
  12.   try {  
  13.     JSONObject JSonObject = new JSONObject(jb.toString());  
  14.   } catch (ParseException e) {  
  15.     // crash and burn  
  16.     throw new IOException("Error parsing JSON request string");  
  17.   }  
  18.  
  19.   // Work with the data using methods like...  
  20.   // int someInt = JSonObject.getInt("intParamName");  
  21.   // String someString = JSonObject.getString("stringParamName");  
  22.   // JSONObject nestedObj = JSonObject.getJSONObject("nestedObjName");  
  23.   // JSONArray arr = JSonObject.getJSONArray("arrayParamName");  
  24.   // etc...  

我當然很希望能夠分享您的 JSON 解析器使用經驗以及您對何種語言更善於在服務器端處理 JSON 數據的高見。您可以訪問 Java 和 XML 新聞組(有關鏈接,請參閱 參考資料 部分)跟我聯系。享受 JSON 和文本數據格式的樂趣吧。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved