在Android中使用2个数组解析Json
我需要解析下面的JSON:在Android中使用2个数组解析Json,android,json,Android,Json,我需要解析下面的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", "a
{
"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个元素(“今年”和“去年”)和2个数组(“今年”和“去年”)。如何将其解析为具有2个字符串和2个列表的对象A?
请帮我解决这个问题。
JSONObject response=jObject.getJSONObject(“response”);
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"));
JSONArray list=response.getJSONArray(“今年”);
JSONArray list1=response.getJSONArray(“去年”);
对于(int i=0;i
}您可以使用GSON进行此操作。这里有一个例子
公共类MyInternalClass{
公共字符串日期;
公开发行量;
公共交通工具的使用;
公众参与比率;
}
公共类MyClass{
今年的公共字符串;
去年的公共字符串;
今年公开上市;
去年的公开名单;
}
公共舱我的商务舱{
公共void parseJson(){
Gson Gson=新的Gson();
MyClass MyClass=gson.fromJson(json,MyClass.class);
}
}
可以提供帮助。请阅读以下内容:您尝试过的内容。
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);
}
}