用于在java中解析Json日志文件的数据结构

时间:2016-06-16 17:41:24

标签: java json algorithm search data-structures

我正在尝试用Java解析JSON日志文件。 我完成了类和数据存储。

我只需要过滤它并存储在适当的数据结构中,这样我就不需要一次又一次地访问该文件。

以下是我的日志文件示例:

  

{ “名称”: “@公司”, “主机名”: “ABC”, “PID”:18624, “电平”:30,    “loggerObject”:{ “特征”: “VC”, “模块”: “VIDEO”,    “级别”: “信息”, “logTime Description该条”: “16时32分46秒”,    “username” 的: “XYZ”, “courseName”: “16June2016”}    }

我需要使用4个参数进行过滤

  1. 等级
  2. 模块
  3. courseName
  4. 的userName
  5. 这些级别可以是20或30,模块可以是视频或音频。 coursename和用户名可以是任何东西。

    如何设计/使用数据结构来存储此数据并降低其搜索复杂度?

1 个答案:

答案 0 :(得分:0)

您可以使用JsonReader解析JSON字符串,然后使用JsonObject访问所需的字段。从那里,您可以存储您需要的数据。

JsonObject log = Json.createReader(new FileReader("log-file.txt"))
                     .readObject()
                     .getJsonObject("loggerObject");

String level      = log.getString("level"),
       module     = log.getString("module"),
       courseName = log.getString("courseName"),
       userName   = log.getString("userName");