似たようなJSONを投げて、欠損プロパティがあるときに実装方法に関して

41 views
Skip to first unread message

kimukou buzz

unread,
Oct 23, 2012, 10:39:48 PM10/23/12
to JsonPullParser-Japan
以前質問させていただいた
A)http://api.twitpic.com/2/tags/show.json?tag=nyaruko&page=1

で実行し、
usernameで絞り込みたいとき
B)http://api.twitpic.com/2/users/show.json?username=Figure_No_Oni

取得できるJSONに微妙に差異が出てしまうのですが

その場合にAPTで宣言するbeanの設定で
その変数があれば代入される=>なければ無視 という宣言は可能でしょうか?
B)の場合は

直下に
name
username
bio
avatar_url

images:userがnull <= こちらの方はエラーにならないのは確認しました(nullとして取得)

という形のJSONになります


それとも別Beanを用意すべきトコロなのでしょうか?

vvakame

unread,
Oct 23, 2012, 11:28:49 PM10/23/12
to jsonpullpa...@googlegroups.com
わかめです。

1つ目 例外をあげないようにする
過去の質問で "treatUnknownKeyAsError
を使うとマッピングに失敗した場合、例外をあげてくれるようになりますので、これを試してみてください。 " とアドバイスしたと思うので、多分今
treatUnknownKeyAsError = true になっていると思います。
マッピングに失敗した時に無視してほしいならこれをfalseにするだけで良いです。

2つ目 Beanをもう一つ作る
treatUnknownKeyAsError = true にしたまま作業したいのであればこれが良いと思います。
3つ目の選択肢とどっちが良いかは実装者判断でいいと思います。

3つ目 継承を利用する
あるJSON-AがJSON-Bのサブセットの場合、 class A と class B extends A として差分を補うだけとする方法もあります。

2012年10月24日 11:39 kimukou buzz <kimuko...@gmail.com>:
> --
> このメールは Google グループのグループ「JsonPullParser-Japan」の登録者に送られています。
> このグループから退会するには、jsonpullparser-j...@googlegroups.com にメールを送信してください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>

kimukou buzz

unread,
Oct 23, 2012, 11:50:40 PM10/23/12
to JsonPullParser-Japan
コメントありがとうございます。
treatUnknownKeyAsErrorの宣言がなければ
メンバ変数無視する認識がありませんでした。
御指摘の通り1)のメンバ追加対応でOKでした。ありがとうございました

On 10月24日, 午後12:29, vvakame <vvak...@gmail.com> wrote:
> わかめです。
>
> 1つ目 例外をあげないようにする
> 過去の質問で "treatUnknownKeyAsError
> を使うとマッピングに失敗した場合、例外をあげてくれるようになりますので、これを試してみてください。 " とアドバイスしたと思うので、多分今
> treatUnknownKeyAsError = true になっていると思います。
> マッピングに失敗した時に無視してほしいならこれをfalseにするだけで良いです。
>
> 2つ目 Beanをもう一つ作る
> treatUnknownKeyAsError = true にしたまま作業したいのであればこれが良いと思います。
> 3つ目の選択肢とどっちが良いかは実装者判断でいいと思います。
>
> 3つ目 継承を利用する
> あるJSON-AがJSON-Bのサブセットの場合、 class A と class B extends A として差分を補うだけとする方法もあります。
>
> 2012年10月24日 11:39 kimukou buzz <kimukou.b...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages