㈠ 如何使用jsON格式 POST數據到伺服器
1.JSON數據格式x0dx0aa)以最簡單的形式,您可以使用以下JSON來表示名稱/值對:x0dx0a{「姓」:「布雷特」}x0dx0aB)可以創建包含多個名稱/值對的記錄,例如:x0dx0a{「FiestNeX」:「布雷特」,「LaSTNED」:「McCurkLin」,「email」:「布雷特@ NeWistalist.com」}x0dx0ac)可以創建一個值數組x0dx0a{「人」):x0dx0a{「FiestNeX」:「布雷特」,「LaSTNED」:「McCurkLin」,「email」:「布雷特@ NeWistalist.com」,x0dx0a{「FiestNeX」:「傑森」、「ListNeNe」:「Hunter」、「email」:「傑森@ servlet。com」}x0dx0a] ]x0dx0ad)當然,可以使用相同的語法來表示多個值(每個值包含多個記錄):x0dx0a{「程序員」):x0dx0a{「FiestNeX」:「布雷特」,「LaSTNED」:「McCurkLin」,「email」:「布雷特@ NeWistalist.com」,x0dx0a{「FiestNeX」:「傑森」、「ListNeNe」:「Hunter」、「email」:「傑森@ servlet。com」}x0dx0a]x0dx0a「作者」:x0dx0a{姓〉:「艾薩克」、「姓氏」:「阿西莫夫」、「流派」:「科幻小說」,x0dx0a{「第一名字」:「TAD」、「姓氏」:「威廉姆斯」、「流派」:「幻想」}x0dx0a]x0dx0a「音樂家」:x0dx0a{「姓」:「埃里克」、「姓氏」:「克萊普頓」、「樂器」:「吉他」}x0dx0a]x0dx0a}x0dx0a請注意,在不同的主要條目(程序員、作者和音樂家)之間,記錄中的實際名稱/值對可能是不同的。JSON是完全動態的,允許在JSON結構的中間表示數據的方式。x0dx0a2。在javaScript中使用JSONx0dx0aJSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數據不需要任何特殊的API或工具包。x0dx0a2.1將JSON數據分配給變數x0dx0a例如,您可以創建一個新的JavaScript變數,並將其直接分配給JSON格式的數據字元串。x0dx0aVaR人=x0dx0a{「程序員」):x0dx0a{「FiestNeX」:「布雷特」,「LaSTNED」:「McCurkLin」,「email」:「布雷特@ NeWistalist.com」,x0dx0a{「FiestNeX」:「傑森」、「ListNeNe」:「Hunter」、「email」:「傑森@ servlet。com」}x0dx0a]x0dx0a「作者」:x0dx0a{姓〉:「艾薩克」、「姓氏」:「阿西莫夫」、「流派」:「科幻小說」,x0dx0a{「第一名字」:「TAD」、「姓氏」:「威廉姆斯」、「流派」:「幻想」}x0dx0a]x0dx0a「音樂家」:x0dx0a{「姓」:「埃里克」、「姓氏」:「克萊普頓」、「樂器」:「吉他」}x0dx0a]x0dx0a}x0dx0a2.2訪問數據x0dx0a將數組放入JavaScript變數後,可以很容易地訪問它。實際上,只使用點符號來表示數組元素。所以,如果你想訪問程序員列表的第一個條目,你只需要在JavaScript中使用下面的代碼:x0dx0a人。程序員(0)。x0dx0a注意,數組的索引從零開始。x0dx0a2.3修改JSON數據x0dx0a正如數據被訪問一樣,數據也可以以同樣的方式修改:x0dx0a人。音樂家[ 1 ]。姓氏=「Rachmaninov」;x0dx0a2.4轉換後串x0dx0aA)在JavaScript,這種轉換也非常簡單。x0dx0aString NejjStangeTeX= Posi.TjsString();x0dx0aB)可以將任何JavaScript對象轉換為JSON文本。而不是處理最初使用JSON字元串來分配值的變數。為了轉換名為MyObjor的對象,我們只需要執行相同的命令形式:x0dx0aString MyObjutsPixs= MyObjut.TjsString();x0dx0a說明:轉換後的字元串用作Ajax調用的字元串,以完成非同步傳輸。x0dx0a總結:如果您想處理大量的JavaScript對象,那麼JSON幾乎肯定是一個不錯的選擇,因此您可以輕松地將數據轉換成可以在請求中發送到伺服器端程序的格式。x0dx0a三。伺服器端JSONx0dx0a3.1向伺服器發送JSONx0dx0aa)通過get發送具有名稱/值對的JSONx0dx0a在JSON數據中,將有空格和各種字元。Web瀏覽器通常希望繼續編譯它們。為了確保這些字元不會在伺服器上造成混淆(或者在向伺服器發送數據的過程中),您需要在JavaScript的轉義()函數中執行以下操作:x0dx0aValueURL =「組織人」PHP?人=「+逃逸(人)tojSouthSnk());x0dx0aRequest.open(「獲取」,URL,TRUE);x0dx0a請求.OnRead狀態更改= UpDebug網頁;x0dx0aRequest.send(NULL);x0dx0aB)使用POST請求發送JSON數據x0dx0a當您決定使用POST請求將JSON數據發送到伺服器時,您不需要對代碼進行很多更改。x0dx0aValueURL =「組織人」PHP?時間戳=「+新日期())GetTime();x0dx0aRequest.open(「POST」,URL,TRUE);x0dx0a請求.OnRead狀態更改= UpDebug網頁;x0dx0aRequest.setRequestHeader(「內容類型」,「應用程序/ X-WWW格式- URLNECODE」);x0dx0aRequest.send(Posi.TjsSouthScript)x0dx0a注意:賦值的格式必須是var MSG=EVE(+(Req.ReffStEXT++))。x0dx0a3.2解釋伺服器上的JSONx0dx0aa)處理JSON的兩個步驟。x0dx0a對於用於編寫伺服器端程序的語言,可以找到相應的JSON解析器/工具箱/助手API。x0dx0a使用JSON解析器/工具箱/幫助器API從客戶端獲取請求數據,並將數據轉換成腳本可以理解的內容。x0dx0ab)尋找JSON解析器x0dx0a找到JSON解析器或工具箱的最佳資源是JSON站點。如果使用JavaServlet,JSON.org上的Or.JSON包是一個不錯的選擇。在這種情況下,您可以從JSON網站下載JSON.ZIP,並添加到項目生成目錄中包含的源文件。復合後
㈡ 在js里傳送json,這個URL里應該怎麼填後台,如果我是java寫的後台,那麼應該怎麼寫呢,謝謝。
1、後台程序生成json數據,不用拼接直接返回
2、ajax接收數據後,調用js解析json數據,可以版利用jquery.parseJSON()方法解析
3、解析之後得權到obj對象,然後可以直接obj.name這樣獲取對象屬性
4、用html代碼拼接
示例:
var obj = jQuery.parseJSON('{"name":"John","age":"20"}');
比如拼接為表格的tr
html = "<tr><td>" + obj.name + "</td><td>" + obj.age + "</td></tr>";
㈢ 求教URL發送JSON格式數據問題
url是要訪問的地址,method是請求方式可以是POST或者GET,params是後面的參數比如?aa=11&bb=22publicStringconnctionURL_Params(Stringurl,Stringmethod,Stringparams){StringBufferbufferRes=newStringBuffer();url=url+params;
㈣ 如何把action中的json數組傳到頁面呢 在用面怎麼接受這個json數組呢
你好,你可以放session 啊
在return this.SUCCESS之前加:
ServletActionContext.getRequest().setAttribute("data", aa);
頁面上這樣處理:
String ajson = getAttribute("data");
這里開始解析,就行了
配置文件:
<result type="json">
<!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應的getter方法 -->
<param name="root">dataMap</param>
</result>
O(∩_∩)O~溫馨提示O(∩_∩)O~
真心希望你能採納我的回答,如有不明白,可以繼續追問,若滿意,記得及時採納。
㈤ 前台能不能給後台傳這樣的json數據:一個json內有個值和一個json數組 請問前台給怎麼傳,後台該怎麼接收
你很懶。
第一步,封裝json.
var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]
第二部,ajax。
jQuery.ajax({
type: "post",
url: url,
dataType : 'json',
data : {'mydata':jsonStr},
success: function(data,textStatus){
alert("操作成功");
},error: function(xhr,status,errMsg){
alert("操作失敗!");
}
});
第三部,後台方法接收。
String jsonStr = ServletActionContext.getRequest().getParameter("mydata");
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
for(int i=0;i<jsonArray.length(); i++){
JSONObject jsonJ = jsonArray.getJSONObject(i);
jsonJ.getInt("name");
jsonJ.getString("age");
}
.......ok不。