我见过很多人在使用 GSON 库时遇到问题——我仍然找不到解决问题的方法。
我想要实现的是将Twitter 的公共时间线中的 JSON 解析为带有 GSON 的 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 中的受保护标识符这一事实有关。如果是后者,我不知道如何解决它。