[英]Parsing Json with 2 arrays in Android
我需要解析以下JSON:
{
"this_year_ti": "TYMN01",
"last_year_ti": "LYMN01",
"this_year": [
{
"date": "20140310 14:20:10",
"amount": 5.2,
"usage": 3.2,
"ratio": 1
},
{
"date": "20140310 14:20:10",
"amount": 5.2,
"usage": 3.2,
"ratio": 1
}
],
"last_year": [
{
"date": "20130310 15:20:10",
"amount": 6.87,
"usage": 4.2,
"ratio": 2
},
{
"date": "20130310 15:20:10",
"amount": 6.87,
"usage": 4.2,
"ratio": 2
}
]
}
也就是说:Json包含:2个元素(“ this_year_ti”和“ last_year_ti”)和2个数组(“ this_year”和“ last_year”)。
如何将其解析为具有2个字符串和2个列表的Object A?
请帮助我解决这个困难。
JSONObject response = jObject.getJSONObject("response");
JSONArray list = response.getJSONArray("this_year");
JSONArray list1 = response.getJSONArray("last_year");
for (int i = 0; i < list.length(); i++) {
JSONObject j = list.getJSONObject(i);
JSONObject k = list.getJSONObject(i);
date1.add(j.getString("date"));
date2.add(k.getString("date"));
amount1.add(j.getString("amount"));
amount2.add(k.getString("amount"));
usage1.add(j.getString("usage"));
usage2.add(k.getString("usage"));
ratio1.add(j.getString("ratio"));
ratio2.add(k.getString("ratio"));
}
You can use GSON for this. Here's an example
public class MyInternalClass {
public String date;
public float amount;
public float usage;
public int ratio;
}
public class MyClass {
public String this_year_ti;
public String last_year_ti;
public List<MyInternalClass> this_year;
public List<MyInternalClass> last_year;
}
public class MyBusinessClass {
public void parseJson() {
Gson gson = new Gson();
MyClass myClass = gson.fromJson(json, MyClass.class);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.