我正在尝试用Java解析JSON日志文件。 我完成了类和数据存储。
我只需要过滤它并存储在适当的数据结构中,这样我就不需要一次又一次地访问该文件。
以下是我的日志文件示例:
{ “名称”: “@公司”, “主机名”: “ABC”, “PID”:18624, “电平”:30, “loggerObject”:{ “特征”: “VC”, “模块”: “VIDEO”, “级别”: “信息”, “logTime Description该条”: “16时32分46秒”, “username” 的: “XYZ”, “courseName”: “16June2016”} }
我需要使用4个参数进行过滤
这些级别可以是20或30,模块可以是视频或音频。 coursename和用户名可以是任何东西。
如何设计/使用数据结构来存储此数据并降低其搜索复杂度?
答案 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");