Json 生成與解析詳解及實例代碼
Json 生成與解析
JSON常用與服務(wù)器進(jìn)行數(shù)據(jù)交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray
如下json數(shù)據(jù):
1 {"singers":[ 2 {"id":"02","name":"tom","gender":"男","tel":["123456","789012"]}, 3 {"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]}, 4 {"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]} 5 ]}
生成json數(shù)據(jù)代碼:
public String buildJson() throws JSONException { JSONObject persons = new JSONObject(); JSONArray personArr = new JSONArray(); JSONObject person = new JSONObject(); person.put("id", "02"); person.put("name", "tom"); person.put("gender", "男"); JSONArray tel = new JSONArray(); tel.put("123456"); tel.put("789012"); person.put("tel", tel); personArr.put(person); JSONObject person2 = new JSONObject(); person2.put("id", "03"); person2.put("name", "jerry"); person2.put("gender", "男"); JSONArray tel2 = new JSONArray(); tel2.put("899999"); tel2.put("666666"); person2.put("tel", tel2); personArr.put(person2); JSONObject person3 = new JSONObject(); person3.put("id", "04"); person3.put("name", "jim"); person3.put("gender", "男"); JSONArray tel3 = new JSONArray(); tel3.put("7777"); tel3.put("5555"); person3.put("tel", tel3); personArr.put(person3); JSONObject person4 = new JSONObject(); person4.put("id", "05"); person4.put("name", "lily"); person4.put("gender", "女"); JSONArray tel4 = new JSONArray(); tel4.put("222222"); tel4.put("111111"); person4.put("tel", tel4); personArr.put(person4); persons.put("singers", personArr); return persons.toString(); }
解析json數(shù)據(jù)代碼:
private void parseJsonMulti(String strResult) { try { JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers"); String s = ""; for (int i = 0; i < jsonObjs.length(); i++) { JSONObject jsonObj = ((JSONObject) jsonObjs.opt(i)); int id = jsonObj.getInt("id"); String name = jsonObj.getString("name"); String gender = jsonObj.getString("gender"); s += "ID號" + id + ", 姓名:" + name + ",性別:" + gender + ",電話:"; JSONArray tel = jsonObj.getJSONArray("tel"); for (int j = 0; j < tel.length(); j++) { s += tel.getString(j)+"/"; } s += "\n"; } tv.setText(s); } catch (JSONException e) { e.printStackTrace(); } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- 淺談使用java解析和生成JSON
- 前后臺交互過程中json格式如何解析以及如何生成
- Ajax遍歷jSon后對每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除(代碼分享)
- ASPNET中JSON的序列化和反序列化的方法
- Android系列---JSON數(shù)據(jù)解析的實例
- JSON與XML的區(qū)別對比及案例應(yīng)用
- 在Action中以Struts2的方式輸出JSON數(shù)據(jù)的實例
- 將json轉(zhuǎn)換成struts參數(shù)的方法
- python 把數(shù)據(jù) json格式輸出的實例代碼
- python中json格式數(shù)據(jù)輸出的簡單實現(xiàn)方法
- jQuery+json實現(xiàn)動態(tài)創(chuàng)建復(fù)雜表格table的方法
- 10分鐘掌握XML、JSON及其解析
相關(guān)文章
Android自定義加載控件實現(xiàn)數(shù)據(jù)加載動畫
這篇文章主要為大家詳細(xì)介紹了Android自定義加載控件實現(xiàn)數(shù)據(jù)加載動畫的相關(guān)資料,仿美團(tuán)、京東數(shù)據(jù)加載動畫、小人奔跑動畫,感興趣的小伙伴們可以參考一下2016-04-04Android AndBase框架內(nèi)部封裝實現(xiàn)進(jìn)度框、Toast框、彈出框、確認(rèn)框(二)
這篇文章主要介紹了Android AndBase框架使用AbActivity內(nèi)部封裝實現(xiàn)進(jìn)度框、Toast框、彈出框、確認(rèn)框,感興趣的小伙伴們可以參考一下2016-03-03Android?Flutter實現(xiàn)創(chuàng)意時鐘的示例代碼
時鐘這個東西很奇妙,總能當(dāng)做創(chuàng)意實現(xiàn)的入口。這篇文章主要介紹了如何通過Android?Flutter實現(xiàn)一個創(chuàng)意時鐘,感興趣的小伙伴可以了解一下2023-03-03Android中TabLayout結(jié)合ViewPager實現(xiàn)頁面切換
這篇文章主要為大家詳細(xì)介紹了Android中TabLayout結(jié)合ViewPager實現(xiàn)頁面切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12Android 動畫之AlphaAnimation應(yīng)用詳解
本節(jié)講解AlphaAnimation 動畫,窗口的動畫效果,淡入淡出什么的,有些游戲的歡迎動畫,logo的淡入淡出效果就使用AlphaAnimation,具體的祥看本文,需要的朋友可以參考下2012-12-12Flutter數(shù)字切換動畫實現(xiàn)示例詳解
這篇文章主要為大家介紹了Flutter數(shù)字切換動畫實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Android實現(xiàn)短信加密功能(發(fā)送加密短信、解密本地短信)
這篇文章主要介紹了android實現(xiàn)短信加密功能的相關(guān)資料,功能包括發(fā)送加密短信、解密本地短信,感興趣的小伙伴們可以參考一下2016-01-01Android TelephonyManager詳解及實現(xiàn)代碼
本文主要介紹Android TelephonyManager, 這里整理了關(guān)于Android TelephoneManager的相關(guān)資料,并附有示例代碼和實現(xiàn)效果圖,有需要的朋友可以參考下2016-08-08