Gsonを用いて多層ネストのJSONデータを解析した。


データの例:
{
    "error": 0,
    "status": "success",
    "results": [
        {
            "currentCity": "  ",
            "index": [
                {
                    "title": "  ",
                    "zs": "  ",
                    "tipt": "    ",
                    "des": "            。         、       。"
                },
                {
                    "title": "     ",
                    "zs": "  ",
                    "tipt": "       ",
                    "des": "            ,       SPF  15、PA+      ,   、   。"
                }
            ]

        }
    ]
}
コードは以下の通りです
package com.iteam.test;

import com.google.gson.Gson;
import com.iteam.where.bean.JsonBean;

public class BmobTest {

    public static void main(String[] args) {

        String s = "{\"error\":0,\"status\":\"success\",\"results\":[{\"currentCity\":\"  \",\"index\":[{\"title\":\"  \",\"zs\":\"  \",\"tipt\":\"    \",\"des\":\"            。         、       。\"},{\"title\":\"     \",\"zs\":\"  \",\"tipt\":\"       \",\"des\":\"         ,      。      ,    SPF 8-12        。\"}]}]}";    
        Gson gson = new Gson();    
        // JSON       
        JsonBean jsonBean = gson.fromJson(s, JsonBean.class);

    }
}
JSONデータによるbeanファイル:
package com.iteam.where.bean;

import java.util.List;

public class JsonBean {

private int error;
private String status;
private List results;
public int getError() {
    return error;
}
public void setError(int error) {
    this.error = error;
}
public String getStatus() {
    return status;
}
public void setStatus(String status) {
    this.status = status;
}
public List getResults() {
    return results;
}
public void setResults(List results) {
    this.results = results;
}
}



import java.util.List;

public class Results {

private String currentCity;
private List index;
public String getCurrentCity() {
    return currentCity;
}
public void setCurrentCity(String currentCity) {
    this.currentCity = currentCity;
}
public List getIndex() {
    return index;
}
public void setIndex(List index) {
    this.index = index;
}

}



public class Index {

private String title;
private String zs;
private String tipt;
private String des;
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}
public String getZs() {
    return zs;
}
public void setZs(String zs) {
    this.zs = zs;
}
public String getTipt() {
    return tipt;
}
public void setTipt(String tipt) {
    this.tipt = tipt;
}
public String getDes() {
    return des;
}
public void setDes(String des) {
    this.des = des;
}

}