自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用服務器進行處理JSON 解析器說明介紹

開發(fā)
一旦您編寫完客戶端 JavaScript 代碼、允許用戶與 Web 表單和 Web 頁的交互、收集發(fā)送給服務器端程序以做處理所需的信息

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

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

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

您只需針對自己編寫腳本所用的語言下載相應的工具箱即可。為了讓服務器端腳本和程序能夠使用此工具箱,可以根據(jù)情況對其進行選擇、擴展或安裝(如果在服務器端使用的是 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 

通過該模板,可將獲得的所有數(shù)據(jù)(數(shù)組格式的、多行的、單值的或 JSON 數(shù)據(jù)結構中的任何內容)轉換成原生 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 解析器使用經(jīng)驗以及您對何種語言更善于在服務器端處理 JSON 數(shù)據(jù)的高見。您可以訪問 Java 和 XML 新聞組(有關鏈接,請參閱 參考資料 部分)跟我聯(lián)系。享受 JSON 和文本數(shù)據(jù)格式的樂趣吧。

責任編輯:chenqingxiang 來源: 博客園
相關推薦

2020-12-02 10:13:45

JacksonJDK解析器

2022-02-14 13:58:32

操作系統(tǒng)JSON格式鴻蒙

2010-04-06 14:34:27

服務器處理器參數(shù)解析

2009-12-14 18:59:27

Ruby解析器

2009-09-17 13:23:22

NIS服務器

2010-01-07 16:37:04

JSON解析器

2010-05-21 11:50:54

IIS服務器

2009-12-22 15:47:03

WCF服務器證書

2011-06-30 09:22:32

服務器ARM架構x86架構

2010-01-08 13:54:17

JSON 性能

2009-03-19 09:26:05

RSS解析器MagpieRSS

2013-01-08 14:07:56

2011-03-02 10:51:09

vsftpd

2009-06-11 10:54:25

GlassFish服務

2010-03-29 02:30:33

AMDMagny Cours解析

2009-09-17 11:54:36

WSUS服務器

2010-01-07 17:58:49

JSON數(shù)值

2009-12-28 09:58:52

ADO操作

2023-12-30 13:33:36

Python解析器JSON

2021-10-03 15:02:50

HTTPNodejs
點贊
收藏

51CTO技術棧公眾號