【问题标题】:Optimized JSON Parsing in JavaJava 中优化的 JSON 解析
【发布时间】:2015-05-15 13:28:28
【问题描述】:

我正在尝试在 Java 中解析一个大型 JSON 对象。

{
"created_at":"Fri May 23 18:40:13 +0000 2014",
"id":469910689948389376,
"id_str":"469910689948389376",
"text":"Foto: Discorsi - Scarica l'app e Partecipa http:\/\/t.co\/zqztInkl6h #BraccialettiRossi http:\/\/t.co\/JeGHPvljwn",
"source":"\u003ca href=\"http:\/\/www.apple.com\" rel=\"nofollow\"\u003eiOS\u003c\/a\u003e",
"truncated":false,
"in_reply_to_status_id":null,
"in_reply_to_status_id_str":null,
"in_reply_to_user_id":null,
"in_reply_to_user_id_str":null,
"in_reply_to_screen_name":null,
"user":{
"id":587593116,
"id_str":"587593116",
"name":"Giulia Zaytsev",
"screen_name":"giubex",
...
}

我需要从对象中提取以下信息:

id_str
created_at
text
user_id

有 2 亿条这样的行,我需要对单个对象进行一些处理(检查它们是否不为空)。我尝试实现here 列出的代码,但我有点困惑。

感谢您的帮助。

【问题讨论】:

  • 那么,您想要一个优化的效率解决方案吗?

标签: java json parsing gson


【解决方案1】:

首先初始化 gson 和你的模型类:

    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.create();

    Item item =  gson.fromJson("your_json",Item.class);
    System.out.println(item.id_str);
    System.out.println(item.user.id);

Item.java

public class Item {

    public String id_str;
    public String created_at;
    public String text;
    public User user;

    public class User{
       public long id;
    }
}

【讨论】:

  • 我正在尝试实现这种格式的代码:System.out.println(((Map)((List)((Map)(TweetObject.get("data"))).get("translations")).get(0)).get("translatedText"));
猜你喜欢
  • 2012-08-26
  • 2015-02-04
  • 1970-01-01
  • 2013-10-17
  • 2019-08-25
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 2022-10-12
相关资源
最近更新 更多