Back to project page ReadabilitySDK.
The source code is released under:
MIT License
If you think the Android project ReadabilitySDK listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.idemidov.readability.parser; /*from w w w .j a v a 2 s. com*/ import com.idemidov.readability.data.Bookmark; import com.idemidov.readability.data.BookmarksRootResponse; import com.idemidov.readability.data.CommandResponse; import com.idemidov.readability.data.Conditions; import com.idemidov.readability.data.Meta; import com.idemidov.readability.util.ParseUtil; import com.idemidov.readability.util.ResultCode; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; public class BookmarksRootParser implements Parser<BookmarksRootResponse> { @Override public CommandResponse<BookmarksRootResponse> parse(String response) throws JSONException { CommandResponse<BookmarksRootResponse> result = new CommandResponse<BookmarksRootResponse>(); BookmarksRootResponse resultData = new BookmarksRootResponse(); JSONObject jsonResponse = new JSONObject(response); resultData.setConditions(parseConditions(jsonResponse.optJSONObject("conditions"))); resultData.setMeta(parseMeta(jsonResponse.optJSONObject("meta"))); resultData.setBookmarks(parseBookmarks(jsonResponse.optJSONArray("bookmarks"))); result.setData(resultData); result.setCode(ResultCode.CODE_OK); return result; } public static Conditions parseConditions(JSONObject conditions) { Conditions result = new Conditions(); result.setOpenedSince(conditions.optString("opened_since")); result.setAddedUntil(conditions.optString("added_until")); result.setOpenedUntil(conditions.optString("opened_until")); result.setArchivedUntil(conditions.optString("archived_until")); result.setFavorite(ParseUtil.intToBoolean(conditions.optInt("favorite"))); result.setArchivedSince(conditions.optString("archived_since")); result.setFavoritedSince(conditions.optString("favorited_since")); result.setUser(conditions.optString("user")); result.setPerPage(conditions.optInt("per_page")); result.setFavoritedUntil(conditions.optString("favorited_until")); result.setArchive(ParseUtil.intToBoolean(conditions.optInt("archive"))); result.setAddedSince(conditions.optString("added_since")); result.setOrder(ParseUtil.stringToBookmarkOrser(conditions.optString("order"))); result.setUpdatedUntil(conditions.optString("updated_until")); result.setPage(conditions.optInt("page")); result.setUpdatedSince(conditions.optString("updated_since")); result.setDomain(conditions.optString("domain")); result.setOnlyDeleted(conditions.optBoolean("only_deleted")); return result; } public static ArrayList<Bookmark> parseBookmarks(JSONArray jsonBookmarks) throws JSONException { ArrayList<Bookmark> result = new ArrayList<Bookmark>(); for (int i = 0; i < jsonBookmarks.length(); i++) { result.add(GetBookmarkByIdParser.parseBookmark(jsonBookmarks.getJSONObject(i))); } return result; } public static Meta parseMeta(JSONObject jsonMeta) { Meta result = new Meta(); result.setItemCount(jsonMeta.optInt("item_count")); result.setItemCountTotal(jsonMeta.optInt("item_count_total")); result.setNumberOfPages(jsonMeta.optInt("num_pages")); result.setPage(jsonMeta.optInt("page")); return result; } }