json数据解析案例

参考文章:JSON数据解析只要看这个就够了

代码(基本都是参考文章里的):

待解析数据:

{
    "date": "2014-04-23",
    ···       
    "name": "蘑菇街",
    "packageName": "com.mogujie",
    "safe": [
        {
            "safeDes": "已通过安智市场官方认证,是正版软件",
            ···
        },
        {
            "safeDes": "已通过安智市场安全检测,请放心使用",
            ···
        },
        {
            "safeDes": "无任何形式的广告",
           ···
        }
    ],
    "screen": [
        "app/com.mogujie/screen0.jpg",
        ···
    ],
    "size": 6746678,
    ···
}

Bean类:

public class GsonParseMoGuBean {

    public String data;    
    public String name;
    public String packageName;
    ···

    public ArrayList safe;

    public class SafeInfo {
        public String safeDes;
        ···                
    }

    public ArrayList screen;

}

GSON解析:

switch (v.getId()) {
    case R.id.bt_mogujson:
        // 获取mogujson中的数据
        InputStream inputStream = getResources().openRawResource(R.raw.mogujson);
        String jsonData = StreamUtils.getDecodeString(inputStream, "utf-8");

        // 使用Gson解析
        Gson gson = new Gson();
        GsonParseMoGuBean mogujie = gson.fromJson(jsonData, GsonParseMoGuBean.class);

        ArrayList safe = mogujie.safe;
        for (SafeInfo info : safe) {
            System.out.println(info);
        }
        ····
        // 显示部分数据,检验是否解析成功
        tv_gson.setText(safe.toString());

        break;
···
}

注:我们说看到使用GSON解析就两行代码,如下:

Gson gson = new Gson();
GsonParseMoGuBean mogujie = gson.fromJson(jsonData, GsonParseMoGuBean.class);

你可能感兴趣的:(Java,EE)