資源描述:
《js和java使用json方法解析匯報》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實(shí)用文案JS和JAVA使用JSON方法解析一.JS部分==================將json字符串轉(zhuǎn)換為json對象的方法。在數(shù)據(jù)傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵。例如:JSON字符串:[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片varstr1='{"name":"cxh","sex":"man"}';JSON對象:[javascript]viewplainco
2、py在CODE上查看代碼片派生到我的代碼片varstr2={"name":"cxh","sex":"man"};一、JSON字符串轉(zhuǎn)換為JSON對象要使用上面的str1,必須使用下面的方法先轉(zhuǎn)化為JSON對象:[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片//由JSON字符串轉(zhuǎn)換為JSON對象varobj=eval('('+str+')');或者[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片//由JSON字符串轉(zhuǎn)換為JSON對象v
3、arobj=str.parseJSON();或者[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片//由JSON字符串轉(zhuǎn)換為JSON對象varobj=JSON.parse(str);然后,就可以這樣讀取:[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片Alert(obj.name);Alert(obj.sex);特別注意:如果obj本來就是一個JSON對象,那么使用eval()函數(shù)轉(zhuǎn)換后(哪怕是多次轉(zhuǎn)換)還是JSON對象,但是使用par
4、seJSON()函數(shù)處理后會有問題(拋出語法異常)。二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉(zhuǎn)化為JSON字符串。例如:[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片//將JSON對象轉(zhuǎn)化為JSON字符varlast=obj.toJSONString();或者[javascript]viewplaincopy在CODE上查看代碼片派生到我的代碼片//將JSON對象轉(zhuǎn)化為JSON字符varlast=JSON.stri
5、ngify(obj);alert(last);注意:標(biāo)準(zhǔn)文檔實(shí)用文案上面的幾個方法中,除了eval()函數(shù)是js自帶的之外,其他的幾個方法都來自json.js包。新版本的JSON修改了API,將JSON.stringify()和JSON.parse()兩個方法都注入到了JavaScript的內(nèi)建對象里面,前者變成了Object.toJSONString(),而后者變成了String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。二.J
6、ava部分===============1.json-lib是一個java類庫,提供將Java對象,包括beans,maps,collections,JavaarraysandXML等轉(zhuǎn)換成JSON,或者反向轉(zhuǎn)換的功能。2.json-lib主頁:http://json-lib.sourceforge.NET/3.執(zhí)行環(huán)境需要以下類庫支持(Maven構(gòu)建)[html]viewplaincopy在CODE上查看代碼片派生到我的代碼片pom.xmlnet.sf.json-lib
7、json-lib2.4jdk15下表中是Java與JavaScript類型對應(yīng)關(guān)系。代碼示例:注:在將Json形式的字符串轉(zhuǎn)換為JavaBean的時候需要注意JavaBean中必須有無參構(gòu)造函數(shù),否則會報如下找不到初始化方法的錯誤JavaBean代碼:[java]viewplaincopy在CODE上查看代碼片派生到我的代碼片pac
8、kagecom.ppl.jsonconvert;publicclassStudent{//姓名privateStringname;//年齡privateStringage;//住址privateStringaddress;//在將Json形式的字符串轉(zhuǎn)換為JavaBean的時候需要注意JavaBean中必須有無參構(gòu)造函數(shù),否則會報如下找不到初始化方法的錯誤publicSt