GSONライブラリで問題を抱えている人をかなり多く見ましたが、それでも問題の解決策を見つけることができませんでした。
私が達成しようとしているのは、 Twitterの公開タイムラインからGSONを使用してJSONをPOJOに解析することです。
以下は、TwitterのJSON構造の私の表現です。
public class OneTweet {
public OneTweet()
{
// Empty constructor
}
public String coordinates;
public String favorited;
public String created_at;
public String truncated;
public String text;
public String contributors;
public String id;
public String geo;
public String in_reply_to_user_id;
public String place;
public String in_reply_to_screen_name;
//public user user;
public List<user> user;
public String source;
public String something;
}
public class user {
public String name;
public String profile_sidebar_border_color;
public String profile_background_tile;
public String profile_sidebar_fill_color;
public String created_at;
public String profile_image_url;
public String location;
public String profile_link_color;
public String follow_request_sent;
public String url;
public String favourites_count;
public String contributors_enabled;
public String utc_offset;
public String id;
public String profile_use_background_image;
public String profile_text_color;
// protected is a reserved identifier
public String pprotected;
public String followers_count;
public String lang;
public String notifications;
public String time_zone;
public String verified;
public String profile_background_color;
public String geo_enabled;
public String description;
public String friends_count;
public String statuses_count;
public String profile_background_image_url;
public String following;
public String in_reply_to_status_id;
public String screen_name;
}
Map<String, OneTweet> json_string_array = googlejson.fromJson(jsonstring, new TypeToken<Map<String, OneTweet>>(){}.getType());
現在、次のエラーが発生します。
スレッド「メイン」の例外com.google.gson.JsonParseException:予期しているオブジェクトが見つかりました:false
私のPOJO構造が間違っているか、JSONオブジェクト「保護された」がJavaで保護された識別子であるという事実に関係しているのではないかと推測しています。後者の場合、私はそれを修正する方法がわかりません。