Gson使ってみた
androidで株価ウィジェットを作る前にjavaでYQLを使ってみる。
前に…
返却されるデータをjsonで扱いたいので、Gson(https://code.google.com/p/google-gson/)を使ってみた。
Gson使いやすい!!
このjsonを
Root
└Query
├─count
├─created
├─lang
└─Results
└─List<Quote>
こんなオブジェクトに簡単に変換できる。(逆も簡単!)
Gsonの使用例(json=>オブジェクト)
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("json.txt"))));) { Gson gson = new Gson(); Root root = gson.fromJson(reader, Root.class); }
Rootクラス
public class Root { private Query query; public Root(Query query) { super(); this.query = query; } public Query getQuery() { return query; } public void setQuery(Query query) { this.query = query; } }
Queryクラス
public class Query { private String count; private String created; private String lang; private Results results; //以下略
Resultsクラス
public class Results { private List<Quote> quote; public Results(List<Quote> quote) { super(); this.quote = quote; } public List<Quote> getQuote() { return quote; } public void setQuotes(List<Quote> quote) { this.quote = quote; } }
Quoteクラス
public class Quote { private String Ask; private String AverageDailyVolume; private String Bid; //以下略
1つ、躓いたところ。
Listの名前をいつもの癖で複数形に無意識でしていたら
jsonの名前と一致せずにうまくデシリアライズできなかった。
jsonに名前をそろえて解決。