2016-05-21 6 views
0

JSONを私のバックエンドからユーザに提供する必要があります。しかし、ワイヤーで送信する前に、機密情報であるためデータを削除する必要があります。キーのすべての要素はconf_で始まります。JSONストリームから選択したノードを削除します

は、私は、次のJSON源があると仮定:

{ 
    "store": { 
    "book": [ 
     { 
     "category": "reference", 
     "conf_author": "Nigel Rees", 
     "title": "Sayings of the Century", 
     "conf_price": 8.95 
     }, 
     { 
     "category": "fiction", 
     "conf_author": "Evelyn Waugh", 
     "title": "Sword of Honour", 
     "conf_price": 12.99 
     }, 
     { 
     "category": "fiction", 
     "conf_author": "Herman Melville", 
     "title": "Moby Dick", 
     "isbn": "0-553-21311-3", 
     "conf_price": 8.99 
     }, 
     { 
     "category": "fiction", 
     "conf_author": "J. R. R. Tolkien", 
     "title": "The Lord of the Rings", 
     "isbn": "0-395-19395-8", 
     "conf_price": 22.99 
     } 
    ], 
    "bicycle": { 
     "color": "red", 
     "conf_price": 19.95 
    } 
    }, 
    "expensive": 10 
} 

soruce JSONの構造は(知られていない)変えることができるので、私はに基づいてパターンで除去する要素を特定する方法が必要キー名(^conf_)。 だから、結果としてJSONは次のようになります。

{ 
    "store": { 
    "book": [ 
     { 
     "category": "reference", 
     "title": "Sayings of the Century" 
     }, 
     { 
     "category": "fiction", 
     "title": "Sword of Honour" 
     }, 
     { 
     "category": "fiction", 
     "title": "Moby Dick", 
     "isbn": "0-553-21311-3" 
     }, 
     { 
     "category": "fiction", 
     "title": "The Lord of the Rings", 
     "isbn": "0-395-19395-8" 
     } 
    ], 
    "bicycle": { 
     "color": "red" 
    } 
    }, 
    "expensive": 10 
} 

私のソースJSONは、すべてのエントリが100+フィールド(子オブジェクト)を持つことになります図書配列に1メートル+エントリを持つことになりますので、私はいくつかのストリーム/イベントベースを探していますパフォーマンスとリソースの理由から、JSONオブジェクト全体を解析してJSONObjectを操作するのではなく、StAXのようなアプローチです。

私はJolt,JSONPathJsonSurferのようなものを見ましたが、これらのライブラリはこれまでのところどこからでも入手できました。

誰にでも私のユースケースを最もよく実装する方法についていくつかの詳細を提供できますか?

よろしくお願いいたします。

答えて

0

巨大なJSONをギガバイトまで解析するのに使用できるJacksonのStreaming APIを使用することができます。巨大なファイルを完全にメモリにロードせずに処理するために使用できます。あなたもしたくないです

続きを読む:http://wiki.fasterxml.com/JacksonStreamingApi

関連する問題