2016-06-16 8 views
-1

JavaでJSONログファイルを解析しようとしています。 私はクラスとデータストレージで行った。JavaのJsonログファイルを解析するためのデータ構造

ファイルを何度も何度もアクセスする必要がないように、フィルターをかけて適切なデータ構造で保存するだけです。以下は

私のログファイルの例です:

{ "名": "@会社"、 "ホスト名": "ABC"、 "PID":18624、 "レベル":30、 "loggerObject":{"feature": "VC"、 "module": "VIDEO"、 "レベル": "INFO"、 "logTime": "16:32:46"、 "userName": "xyz" 、 "courseName": "16June2016"}}

I 4つのパラメータ

    でフィルタリングする必要がありますこれらのレベルのうち
  1. レベル
  2. モジュール
  3. courseName
  4. userNameに

20又は30であることができ、モジュールは、ビデオまたはオーディオであることができます。 coursenameとusernameには何でもかまいません。

データ構造を設計/使用してこのデータを保存し、検索の複雑さを軽減するにはどうすればよいですか?

+0

ログをMongoデータベースに入力し、NoSQLクエリを使用してそれらをクエリしないのはなぜですか? –

+0

Javaには、[javax.json'](http://docs.oracle.com/javaee/7/api/javax/json/package-summary.html)パッケージに組み込まれているJSON APIがあります。 – 4castle

+0

私はそれをExcelにダンプすると言うでしょう。 あなたはそこに必要なものすべてを持っています:) –

答えて

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"); 
関連する問題