用迭代法 解析 json 格式 数据

首先把我遇到的需要解析的json数据  结构  给大家粘贴出来:

{

"tradelist":

{"2015年08月":

[{"type":"用户充值","createdatetime":"2015-08-03 16:08:59","changemoney":9999.99}]

}

}这就是需要解析的数据结构。

解析方法  我也不多说什么啦!直接给打击贴代码:

JSONObject jo = new JSONObject(String  str);// 这里的jo就是整个语句,str 也就是后台返回给你  的数据结构。

JSONObject jotList = jo.getJSONObject("tradelist");

Iterator<String> tradelistkeys = jotList.keys();

// 这里的tradelistkeys就是所有的日期,例如“2015年8月”,“2015年9月”

while (tradelistkeys.hasNext()) {// 迭代每一个日期

String key = tradelistkeys.next();// 得到日期

JSONArray detailArray = jotList.getJSONArray(key);//

// 这里通过“2015年8月”这个key得到他对应的那个数组

ResponseTradeRecord info = new ResponseTradeRecord();

// 这个是自定定义的类,用来承载信息的,里头2个参数,一个data是记录日期,一个list详细信息

info.ymtime = key;

for (int i = 0; i < detailArray.length(); i++) {// 遍历数组

JSONObject detail = detailArray.getJSONObject(i);

String type = detail.getString("type");

// Log.e("type:", type);

String createdatetime = detail.getString("createdatetime");

// Log.e("createdatetime:", createdatetime);

String changemoney = detail.getString("changemoney");

// Log.e("changemoney:", changemoney);

TradeListItem detailItem = new TradeListItem();(这个实体类是item 里面的数据)

detailItem.type = type;

detailItem.createdatetime = createdatetime;

detailItem.changemoney = changemoney;

// Log.e("detailItem:", "" + detailItem);

detailList.add(detailItem);}

info.mTradeListItem = detailList;

group_list.add(info);

mLVTradeRecord.setAdapter(new ExpandableListViewaAdapter(getActivity(), group_list, detailList));

当然  这里用的是ExpandableListView  列表展示的数据。

适配器是用:BaseExpandableListAdapter

另外再给大家贴出我写的实体类:

public class ResponseTradeRecord {

public String ymtime;// string

public ArrayList<TradeListItem> mTradeListItem;

/**

* @return the ymtime

*/

public String getYmtime() {

return ymtime;

}

/**

* @param ymtime

*            the ymtime to set

*/

public void setYmtime(String ymtime) {

this.ymtime = ymtime;

}

/**

* @return the mTradeListItem

*/

public ArrayList<TradeListItem> getmTradeListItem() {

return mTradeListItem;

}

/**

* @param mTradeListItem

*            the mTradeListItem to set

*/

public void setmTradeListItem(ArrayList<TradeListItem> mTradeListItem) {

this.mTradeListItem = mTradeListItem;

}

}

另外一个实体类是Listview中item里面的数据:

public class TradeListItem  {

public String id;// 编号 string

public String type;// 类型 string

public String createdatetime;// 日期 string

public String changemoney;// 金额 string

/**

* @return the id

*/

public String getId() {

return id;

}

/**

* @param id

*            the id to set

*/

public void setId(String id) {

this.id = id;

}

/**

* @return the type

*/

public String getType() {

return type;

}

/**

* @param type

*            the type to set

*/

public void setType(String type) {

this.type = type;

}

/**

* @return the createdatetime

*/

public String getCreatedatetime() {

return createdatetime;

}

/**

* @param createdatetime

*            the createdatetime to set

*/

public void setCreatedatetime(String createdatetime) {

this.createdatetime = createdatetime;

}

/**

* @return the changemoney

*/

public String getChangemoney() {

return changemoney;

}

/**

* @param changemoney

*            the changemoney to set

*/

public void setChangemoney(String changemoney) {

this.changemoney = changemoney;

}

}

自定义的适配器就不给大家贴了。在网上查一下都可以找到的!

这是我个人QQ:2268214831  微信号:hanxinghui0817   如果有谁用到不理解的,可以加QQ或者微信私聊我!希望此博文对安卓开发初期的者有帮助。

时间: 2024-10-07 17:05:31

用迭代法 解析 json 格式 数据的相关文章

Android上解析Json格式数据

package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class JsonDemo extends Activity { /*http://www.hui

解析JSON格式数据

 别想一下造出大海,必须先由小河川开始. 本讲内容:解析JSON格式数据 1)比起XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,看起来不如XML直观. 2)解析JSON格式的数据有多种方式,常用的两种是:使用官方提供的JSONObject和谷歌的开源库GSON. 示例一:解析服务器返回的数据 一.JSONObject解析方式 步骤: 1.在服务器中定义一个JSONArray,并将服务器返回的数据传入到JSONArray对象中 2.循环

jquery解析json格式数据的方法(对象、字符串)

相关函数 函数 描述 JSON.parse() 用于将一个 JSON 字符串转换为 JavaScript 对象. JSON.stringify() 用于将 JavaScript 值转换为 JSON 字符串. //data为字符串类型 则要将字符串类型转换成json数据类型 var jsondatas=eval("("+data+")"); 本文实例讲述了jquery解析json格式数据的方法.分享给大家供大家参考,具体如下: json数据是我们常用的一种小型的数据实

用GSON解析Json格式数据

GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的libs目录下添加这个文件即可:如果是在Java项目中,则把gson-2.2.4.jar先添加到当前项目的任意一个包中,然后右键点击这个jar包 -> 构建路径 -> 添加至构建路径.这样准备工作就做好了. (一)单条无嵌套Json数据的解析 比如有如下Json数据:{"name"

android学习二十三(解析json格式数据)

前面我们已经掌握了xml格式数据的解析方式,那么接下来我们学习下如何解析json格式的数据.比起xml,json的主要优势在于它体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性差,看起来不如xml直观. 开始之前,先在自己的电脑apache-tomcat-6.0.39\webapps\ROOT路径目录下新建一个get_data.json的文件,然后编辑这个文件,并加入如下json格式的内容: [{"id":"5","version"

C# 解析JSON格式数据

JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集.JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成. JSON与XML的比较 ◆可读性 JSON和XML的可读性相比较而言,由于XML提供辅助的标签,更加适合人阅读和理解. ◆文件大小与传输 XML允许使用方便的标签,所以文件尺寸是要比JSON大

【转】C# 解析JSON格式数据

http://blog.csdn.net/coolszy/article/details/8606803 JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集.JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成. JSON与XML的比较 ◆可读性 JSON和XML的可读性相比较而言,由于XML提供辅

Android 解析JSON格式数据

比起XML,JSON主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,显示不如XML直观. JSON格式 :  { "name_A" : "value_A","name_B" : "value_B" } 表示:name_A = value_A;  name_B = value_B; 我将对下面的JSON数据进行解析: [{"id":"5","

Android中解析JSON格式数据常见方法合集

待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name":"xiaowang"}, {"id":"10", "version":"2.0", "name":"lisi"}] 一.使用JSONObject来解析JSON数据