繁体   English   中英

在Android中使用2个数组解析Json

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM