"/data/data/cn.qihoo.msearch/skin/skin_color/header_color.json"
Gson gson = new Gson();
SkinChangeJson result = null;
try {
BufferedReader br;
File file = new File(res_json_path);
br = new BufferedReader(new FileReader(file));
result = gson.fromJson(br,SkinChangeJson.class
/*new TypeToken<SkinChangeJson>() {
}.getType()*/
);
Log.i("yyy","--------------result="+result.getNavi_version());
return result;
} catch (Exception e) {
return null;
}
解析内容:
{
"multi": [
{
"postid": "1086040",
"images": [
"http://p0.qhimg.com/t016255b6700a3401ca.jpg",
"http://p0.qhimg.com/t013f3cbb6273a22963.jpg",
"http://p0.qhimg.com/t0114d9ab0c67809399.jpg"
],
"tag": "9"
},
{
"postid": "1087757",
"images": [
"http://p0.qhimg.com/t01a6d8f4a52aff6afb.jpg",
"http://p0.qhimg.com/t013ccf4cbcbc128cbc.jpg"
]
}
],
"common":{
"postid": "1088242",
"images": [
"http://p0.qhimg.com/t01cb5b2d309ff5fd57.jpg"
],
"tag": "5"
}
}
json解析:
TopicData[] topicList = new TopicData[TOPIC_NUMBER];
JSONArray multiArray = dataObject.getJSONArray("multi");
for (int i = 0; i < TOPIC_NUMBER; i++) {
topicJson = multiArray.getJSONObject(startIndex);
TopicData topic = new TopicData();
topic.title = topicJson.optString("title");
topic.sourceFrom = topicJson.optString("source");
topic.commentNum = topicJson.optString("post_num");
topic.gotoUrl = topicJson.optString("gotourl");
JSONArray imageArray = topicJson.getJSONArray("images");
topic.imageDownloadUrl = new String[imageArray.length()];
Log.i(TAG,"imageArray = "+imageArray.length());
for(int j = 0; j < imageArray.length(); j++){
String imageJson = imageArray.getString(j);
topic.imageDownloadUrl[j]=imageJson;
}
topicList[i] = topic;
}
private class TopicData {
String[] imageDownloadUrl;
String title;
String gotoUrl;
String commentNum;
String sourceFrom;
}
gson解析:
public class JsonDataBase{
public ArrayList<CardTucaoData> getMulti() {
return multi;
}
public void setMulti(ArrayList<CardTucaoData> multi) {
this.multi = multi;
}
public ArrayList<CardTucaoData> getCommon() {
return common;
}
public void setCommon(ArrayList<CardTucaoData> common) {
this.common = common;
}
private ArrayList<CardTucaoData> multi;
private ArrayList<CardTucaoData> common;
public class CardTucaoData{
public String getPostid() {
return postid;
}
public void setPostid(String postid) {
this.postid = postid;
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
public List<String> getImages() {
return images;
}
public void setImages(List<String> images) {
this.images = images;
}
private String postid = "";
private String tag = "";
private List<String> images;
}
}
public JsonDataBase parseCardTucaoJson(String CardTucaoStr) {
Gson gson = new Gson();
JsonDataBase base = null;
try {
//CardTucaoStr = gson.toJson(rootObject);
// LogUtils.i("card", "rootString = " + rootString);
if (!TextUtils.isEmpty(CardTucaoStr)) {
base = gson.fromJson(CardTucaoStr, new TypeToken<JsonDataBase>() {
}.getType());
if (base != null)
return base;
}
} catch (JsonSyntaxException e) {
}
return null;
}