json一般都是配合ajax一起使用的 我做做過的小例子 粘給你 你可以研究一下
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出北海街道免費(fèi)做網(wǎng)站回饋大家。
js部分
//獲取卡的金額
function get_money(){
var str=document.getElementById("pk_card_type").value;
//alert(str);
var url = '/member_h.do';
var pars = 'method=getMoney';
pars+='pk_card_type='+str;
var ajax = new Ajax.Request(
url,
{method:'post',parameters:pars,onComplete:show_money}
);
}
//回調(diào)函數(shù) 寫入卡的金額
function show_money(dataResponse)
{
var data = eval('(' + dataResponse.responseText + ')');
var price=0;
price=data.price;
var collection_fees=0;
collection_fees=data.collection_fees;
document.getElementById("recharge").value=price;
document.getElementById("collection_fees").value=collection_fees;
}
action部分
public ActionForward getMoney(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
response.setContentType("text/html; charset=utf-8");
try {
IElementaryFileService ggsv = new ElementaryFileService();
String pk_card_type = request.getParameter("pk_card_type");
Card_TypeVO ctvo=new Card_TypeVO();
ctvo=ggsv.queryByPK(Card_TypeVO.class, pk_card_type);
PrintWriter out = response.getWriter();
// 這里的數(shù)據(jù)拼裝一般是從數(shù)據(jù)庫(kù)查詢來的
JSONObject jsonObject = new JSONObject();
if(ctvo!=null){
jsonObject.put("price", ctvo.getCard_money());
jsonObject.put("collection_fees", ctvo.getCash());
}else{
jsonObject.put("price", 0);
jsonObject.put("collection_fees", 0);
}
out.print(jsonObject.toString());
out.flush();
out.close();
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
工具/原料
安裝有eclipse軟件的電腦一臺(tái)
方法/步驟
1
首先我們?cè)趀clipse中創(chuàng)建一個(gè)java工程,在java工程中創(chuàng)建一個(gè)HelloWorld的類,在這個(gè)java的入口程序中,我們來創(chuàng)建一個(gè)json字符串,并且打印出來,如下圖:
2
將我們剛剛創(chuàng)建的json字符串打印出來如下所示,可以看出這個(gè)json包含了一個(gè)大json對(duì)象,大json對(duì)象里面又包含一個(gè)json數(shù)組,一個(gè)數(shù)組里面又包含三個(gè)json對(duì)象,如下圖:
3
在java中我們要解析json數(shù)組必須借助第三方包,所以這里我們加載一下第三方包,首先我們將鼠標(biāo)移動(dòng)到項(xiàng)目名稱上面去,然后右鍵召喚出右鍵快捷菜單,然后依次點(diǎn)擊Build Path-Configure Build Paht...,如下圖:
4
然后我們按照?qǐng)D中紅色方框所示點(diǎn)擊Libraries,然后點(diǎn)擊Add Library...,如下圖所示:
5
然后我們繼續(xù)按照?qǐng)D中所示點(diǎn)擊User Library,然后點(diǎn)擊Next,如下圖:
6
然后我們繼續(xù)按照?qǐng)D中紅色方框所示點(diǎn)擊User Libraries...,如下圖:
7
然后我們點(diǎn)擊New...,來開始創(chuàng)建我們自己的libraries,如下圖:
8
然后我們輸入我們自己jar庫(kù)的名字,這里我使用了jsonjar作為我們的名字,如下圖:
9
接下來為我們的jar庫(kù)添加jar包,我們按照下圖中紅色方框所示點(diǎn)擊“Add External JARs”,如下圖:
10
我們添加json相關(guān)的jar包,這里涉及json的第三方包主要包括這七個(gè),所以我們把這七個(gè)包都引入到我們自己的jar庫(kù)中去,如下圖:
11
返回到User Libraries中發(fā)現(xiàn),我們已經(jīng)引入了所有的jar包,如下圖:
我們按照下圖中紅色方框所示畫勾,然后點(diǎn)擊finish,如下圖:
然后我們按照?qǐng)D中紅色邊框所示點(diǎn)擊Apply,然后點(diǎn)擊OK,如下圖:
回到我們的工程中,從工程目錄中我們可以看到,我們已經(jīng)添加了自己的名字為jsonjar的jar庫(kù),如下圖:
接下來我們回到程序中,在頭部添加“import net.sf.json.JSONArray;import net.sf.json.JSONObject;”這兩句代碼,這兩句表示引入了解析json的對(duì)象和數(shù)組的包,如下圖:
然后我們通過代碼“JSONObject.fromObject(json_array)”來將我們之前創(chuàng)建的json字符串轉(zhuǎn)換成json對(duì)象,并且通過鍵值對(duì)的方式打印出json對(duì)象名字為“employees”的值,如下圖:
打印出的名字為“employees”的json對(duì)象的值如下圖是一個(gè)數(shù)組字符串,如下圖:
接下來我們通過代碼“jsonobj.getJSONArray("employees")”來將獲取的數(shù)組字符串轉(zhuǎn)變成為json組數(shù),如下圖:
并且我們打印出json數(shù)組的長(zhǎng)度,可見程序計(jì)算的json數(shù)組的長(zhǎng)度和我們實(shí)際的數(shù)組長(zhǎng)度相一致,如下圖:
接下來我們通過一個(gè)for循環(huán)將我們獲取的json數(shù)組中的值依次取出來,由于數(shù)組中又包含3個(gè)對(duì)象,我們又需要將3個(gè)對(duì)象使用代碼“JSONObject.fromObject(jsonarr.get(i));”將得到的對(duì)象字符串變成對(duì)象然后再取出來,如下圖:
最后,我們將json數(shù)組的所有內(nèi)容都展示到控制臺(tái),這樣我們就可以使用java通過第三方j(luò)son包來解析json數(shù)組了,如下圖:
將json字符串轉(zhuǎn)換為java對(duì)象
同樣先將json字符串轉(zhuǎn)換為json對(duì)象,再將json對(duì)象轉(zhuǎn)換為java對(duì)象,如下所示。
JSONObject?obj?=?new?JSONObject().fromObject(jsonStr);//將json字符串轉(zhuǎn)換為json對(duì)象
將json對(duì)象轉(zhuǎn)換為java對(duì)象
Person?jb?=?(Person)JSONObject.toBean(obj,Person.class);//將建json對(duì)象轉(zhuǎn)換為Person對(duì)象
3.將java對(duì)象轉(zhuǎn)換為json字符串
先將java對(duì)象轉(zhuǎn)換為json對(duì)象,在將json對(duì)象轉(zhuǎn)換為json字符串
JSONObject?json?=?JSONObject.fromObject(obj);//將java對(duì)象轉(zhuǎn)換為json對(duì)象
String?str?=?json.toString();//將json對(duì)象轉(zhuǎn)換為字符串