JSONObject和JSONArray的使用
发布时间:2020-12-16 19:35:47 所属栏目:百科 来源:网络整理
导读:从asserts中取出相关的json数据,进行解析,json文件格式如下: {"ICBC":"中国工商银行","ABC":"中国农业银行","CCB":"中国建设银行","CMB":"招商银行","CEB":"中国光大银行","CIB":"兴业银行","SPDB":"上海浦东发展银行","COMM":"交通银行","CITIC":"中信银
从asserts中取出相关的json数据,进行解析,json文件格式如下: {"ICBC":"中国工商银行","ABC":"中国农业银行","CCB":"中国建设银行","CMB":"招商银行","CEB":"中国光大银行","CIB":"兴业银行","SPDB":"上海浦东发展银行","COMM":"交通银行","CITIC":"中信银行","HXBANK":"华夏银行","BOC":"中国银行","CMBC":"中国民生银行","PSBC":"中国邮政储蓄银行","GCB":"广州银行","SRCB":"深圳农村商业银行","SPABANK":"平安银行"} /** * 银行信息 */ public class BankInfo { public String code; public String name; public BankInfo(String code,String name) { this.code = code; this.name = name; } } String content = getFromAssets(assetsBankResourceFileName); List<BankInfo> bankInfoList = new ArrayList<BankInfo>(); try { JSONObject object = new JSONObject(content); Iterator<?> iterator = object.keys(); while(iterator.hasNext()) { String code = iterator.next().toString(); if (code != null) { String name = object.getString(code); bankInfoList.add(new BankInfo(code,name)); } } } catch (JSONException e) { e.printStackTrace(); } 从assets文件夹中读取文件 public String getFromAssets(String fileName) { StringBuffer stringBuffer = new StringBuffer(); try { InputStreamReader inputReader = new InputStreamReader(getResources().getAssets().open(fileName)); BufferedReader bufReader = new BufferedReader(inputReader); String line = ""; while ((line = bufReader.readLine()) != null) { stringBuffer.append(line); } } catch (Exception e) { e.printStackTrace(); } return stringBuffer.toString(); } 当这里的文件格式如下,在外面加了一个[]中括号: [{"ICBC":"中国工商银行","SPABANK":"平安银行"}] 加了[]相当于就表示这个是数组了,需要使用到JSONArray来解析了,解析代码如下: String content = getFromAssets(assetsBankResourceFileName); List<BankInfo> bankInfoList = new ArrayList<BankInfo>(); try { JSONArray list = new JSONArray(content); for(int i = 0; i < list.length(); i++){ JSONObject object = list.getJSONObject(i); Iterator<?> iterator = object.keys(); while(iterator.hasNext()) { String code = iterator.next().toString(); if (code != null) { String name = object.getString(code); bankInfoList.add(new BankInfo(code,name)); } } } } catch (JSONException e) { e.printStackTrace(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |