日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中级之网络数据解析一之Json解析

發(fā)布時間:2023/12/18 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中级之网络数据解析一之Json解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


本文來自http://blog.csdn.net/liuxian13183/?,引用必須注明出處!


在網(wǎng)絡(luò)傳輸?shù)臅r候,經(jīng)常用到的解析方式有xml和json兩種,今天我們主要來說下json、解析,以及其要點。

首先json格式:

“[”標(biāo)識json解析開始,"]"標(biāo)識json解析結(jié)束

"{"標(biāo)識json的一個數(shù)據(jù)開始,"}"標(biāo)識一個數(shù)據(jù)結(jié)束

key:'value'標(biāo)識所傳送的數(shù)據(jù)。key可以加引號,也可以不加;但value必須加引號,單引號或雙引號都可以

key/value之間要用","隔開

其他就沒什么了。

json包通常有g(shù)son,org-json等,下載路徑:http://www.json.org/

那我們是以alibaba的fastjson為例來做示范

下載位置:http://download.csdn.net/detail/liuxian13183/5492645

解析目標(biāo):

[{view:'水滸傳',data:{name:'宋江',age:'37'},data2:{name:"武松",age:"27"},memo:'英雄人物'},{view:'紅樓夢',data:{name:'賈寶玉',age:"17"},data2:{name:"林黛玉",age:"14",memo:'情感人物'}}]

命名文件json.txt,放在assets路徑下

注意:json數(shù)據(jù)要eclipse編輯,不要在windows環(huán)境下用txt編輯,否則會加入空格,造成不必要的影響


先上效果圖


作法1:先寫一bean

public class HistoryBean {private String view;private Map<String, Object> data;private String memo;/*** @return the view*/public String getView() {return view;}/*** @param view the view to set*/public void setView(String view) {this.view = view;}/*** @return the map*/public Map<String, Object> getData() {return data;}/*** @param map the map to set*/public void setData(Map<String, Object> data) {this.data = data;}/*** @return the memo*/public String getMemo() {return memo;}/*** @param memo the memo to set*/public void setMemo(String memo) {this.memo = memo;}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "HistoryBean [view=" + view + ", data=" +data+ ", memo=" + memo+ "]";}
注意:無論是變量還是方法名,都禁止出現(xiàn)關(guān)鍵字。

然后解析

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView main_listivew = (ListView) findViewById(R.id.main_listivew);data = new ArrayList<String>();List<String> targetJsons = unParseTxt("json.txt");for (String targetJson : targetJsons) {pase2(targetJson);}adapter = new MyAdapter();main_listivew.setAdapter(adapter);}private List<String> unParseTxt(String string) {// TODO Auto-generated method stubList<String> target = new ArrayList<String>();try {BufferedReader br = new BufferedReader(new InputStreamReader(getAssets().open(string)));String str;while ((str = br.readLine()) != null) {if (!TextUtils.isEmpty(str)) {target.add(str);}}} catch (Exception e) {}return target;}private void pase2(String targetJson) {// TODO Auto-generated method stubLog.i("AlipayTag", targetJson);List<HistoryBean> list = JSON.parseArray(targetJson, HistoryBean.class);for (HistoryBean bean : list) {data.add(bean.toString());}}
注解:

Json解析可使用JSON,JSONObject,JSONArray來調(diào)用

方法有:

解析成一對象,可以是bean,JSON.parse(text);
解析成byte數(shù)組,JSON.toJSONBytes(arg0, arg1)
解析成泛型,JSON.parseObject(input, clazz, features)


根據(jù)需要,大家可以更進(jìn)行相應(yīng)的擴(kuò)展,歡迎大家踴躍交流!





轉(zhuǎn)載于:https://www.cnblogs.com/fengju/archive/2013/05/31/6174459.html

總結(jié)

以上是生活随笔為你收集整理的Android中级之网络数据解析一之Json解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。