2017-08-15 1 views
0

私は値を変換して文字列を生成するスカラー関数を持っています。io.circeを使用したJSON値の変換

strOut = translate(strIn) 

は、次のようなJSONオブジェクトを仮定:

{ 
    "id": "c730433b-082c-4984-3d56-855c243265f0", 
    "standard": "stda", 
    "timestamp": "tsx000", 
    "stdparms" : { 
    "stdparam1": "a", 
    "stdparam2": "b" 
    } 
} 

と翻訳機能により提供される次のマッピング:

"stda" -> "stdb" 
"tsx000" -> "tsy000" 
"a" -> "f" 
"b" -> "g" 

用いて全JSONオブジェクトを変換するための最良の方法は何ですか関数を変換する?

{ 
    "id": "c730433b-082c-4984-3d56-855c243265f0", 
    "standard": "stdb", 
    "timestamp": "tsy000", 
    "stdparms" : { 
    "stdparam1": "f", 
    "stdparam2": "g" 
    } 
} 

私が原因プロジェクトに関する事項にio.circeライブラリを使用する必要があります。私の目標は、次のような結果を得ることです。

答えて

0

変換するフィールドがあらかじめ分かっている場合、またはそのフィールドに適用される変換がある場合は、Cursorsを使用してJSONツリーを走査できます。または、フィールド自体が固定されている場合(常に期待するフィールドを知っている)、Opticsはコードが少なくて済みます。

右の葉に着くと、翻訳が適用されます。

ただし、文字列メソッドを使用して検索/置換するのが簡単な場合には、適用できる内容がわからない場合は、

例として提供したJSONは、途中で有効なJSONではありません。

+0

ありがとうございました。 JSONの例を修正しました。私の場合は、あらかじめ知られている唯一のフィールドがIDである必要があります。 –

関連する問題