package org.czzz.demo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class DoubanBook {
public static final String ID = "id";
public static final String ISBN10 = "isbn10";
public static final String ISBN13 = "isbn13";
public static final String TITLE = "title";
public static final String ORIGIN_TITLE = "origin_title";
public static final String ALT_TITLE = "alt_title";
public static final String SUBTITLE = "subtitle";
public static final String URL = "url";
public static final String ALT = "alt";
public static final String IMAGE = "image";
public static final String AUTHOR = "author";
public static final String TRANSLATOR = "translator";
public static final String PUBLISHER = "publisher";
public static final String PUBDATE = "pubdate";
public static final String RATING = "rating";
public static final String TAGS = "tags";
public static final String BINDING = "binding";
public static final String PRICE = "price";
public static final String PAGES = "pages";
public static final String AUTHOR_INTRO = "author_intro";
public static final String SUMMARY = "summary";
public String id, isbn10, isbn13, title, origin_title, alt_title, subtitle;
public String url, alt, image, small_img, large_img, medium_img, price;
public String author, translator, publisher, pubdate, author_intro,
summary;
public String rateMax, rateNum, rateAverage, rateMin, binding, pages;
public ArrayList<HashMap<String, String>> tags = new ArrayList<HashMap<String, String>>();
public List<BookCommentEntry> comments; //单独获取
protected void init(JSONObject json) {
try {
id = json.getString("id");
isbn10 = json.getString("isbn10");
isbn13 = json.getString("isbn13");
title = json.getString("title");
origin_title = json.getString("origin_title");
alt_title = json.getString("alt_title");
subtitle = json.getString("subtitle");
url = json.getString("url");
alt = json.getString("alt");
image = json.getString("image");
// get images ...
JSONObject imagesJson = json.getJSONObject("images");
small_img = imagesJson.getString("small");
large_img = imagesJson.getString("large");
medium_img = imagesJson.getString("medium");
JSONArray authorArray = json.getJSONArray("author");
for (int i = 0; i < authorArray.length(); i++) {
if(i == 0)
author = "" + authorArray.get(i);
else
author = author + " / " + authorArray.get(i);
}
JSONArray transArray = json.getJSONArray("translator");
translator = "";
for (int i = 0; i < transArray.length(); i++) {
translator = translator + transArray.get(i) + " / ";
}
publisher = json.getString("publisher");
pubdate = json.getString("pubdate");
if(json.has("rating")){
JSONObject rateJson = json.getJSONObject("rating");
rateMax = rateJson.getString("max");
rateMin = rateJson.getString("min");
rateNum = rateJson.getString("numRaters");
rateAverage = rateJson.getString("average");
}
JSONArray tagArray = json.getJSONArray("tags");
for (int i = 0; i < tagArray.length(); i++) {
String name = tagArray.getJSONObject(i).getString("name");
String count = tagArray.getJSONObject(i).getString("count");
HashMap<String, String> map = new HashMap<String, String>();
map.put("count", count);
map.put("name", name);
tags.add(map);
}
binding = json.getString("binding");
price = json.getString("price");
pages = json.getString("pages");
author_intro = json.getString("author_intro");
summary = json.getString("summary");
} catch (JSONException jsone) {
Log.e("EXCEPTION", "JSON FAIL --- " + jsone.getMessage());
}
}
@Override
public String toString() {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
sb.append("id=" + id + "\n")
.append("isbn10=" + isbn10 + "\n")
.append("isbn13=" + isbn13 + "\n")
.append("title=" + title + "\n")
.append("origin_title=" + origin_title + "\n")
.append("alt_title=" + alt_title + "\n")
.append("subtitle=" + subtitle + "\n")
.append("url=" + url + "\n")
.append("alt=" + alt + "\n")
.append("image=" + image + "\n")
.append("image=" + image + "\n")
.append("small_img=" + small_img + "\n")
.append("large_img=" + large_img + "\n")
.append("medium_img=" + medium_img + "\n")
.append("author=" + author + "\n")
.append("translator=" + translator + "\n")
.append("publisher=" + publisher + "\n")
.append("pubdate=" + pubdate + "\n")
.append("ratings=" + rateMax + "/" + rateNum + "/"
+ rateAverage + "/" + rateMin + "\n")
.append("tags=" + tags.toString() + "\n")
.append("binding=" + binding + "\n")
.append("price=" + price + "\n")
.append("pages=" + pages + "\n")
.append("author_intro=" + author_intro + "\n")
.append("summary=" + summary);
return sb.toString();
}
}