2017-01-29 12 views
2

にJSON文字列を変換するライブラリは、私は、Erlangのレコードにこの文字列を変換したいです。 jiffyライブラリが見つかりましたが、完全にレコードに変換されません。例えば私は大規模なJSON文字列をしたErlangの記録

jiffy:decode(<<"{\"foo\":\"bar\"}">>).

{[{<<"foo">>,<<"bar">>}]}

を与えるが、私は次のように出力したい:

{ok,{obj,[{"foo",<<"bar">>}]},[]}

を所望の出力のために使用することができる任意のライブラリはありますか?

あるいはさらにそれの出力を変更するためjiffyを組み合わせて使用​​することができる任意のライブラリがあります。

は、JSON文字列が大きいという事実を考えると、私は、出力が最小の時間でほしいです。

+0

非常に奇妙な質問です。なぜ、デコード関数がこの '{obj、List}'組、なぜ '\" foo \ "'と '\" bar \ "'を別々にデコードしなければならないのか、最後の空リストの意味は何ですか?最初のタームがデコードされた後の入力文字列の残りの部分です)?あなたが期待していることは非常に具体的であり、あなたの質問にはいくつかの文脈がないと思われます。私は、あなたがどのようにライブラリの出力を使用できるかを見て、最終的に欠けている機能について説明することをお勧めします。 – Pascal

答えて

1

は、ドキュメントから、ejsonを見てみましょう:

ErlangのためのJSONライブラリをJSXの上に。それは変換規則を指定する必要があるjsxのための宣言的なインタフェースを与え、ejsonは規則に従ってタプルを変換します。

私はエンコーディングではなく、ErlangのレコードへJSONsの解読は容易ではないだけを作るために、このライブラリを作った...

ソースファイルがparse_transformのejson_transでコンパイルする必要を有効にするejsonためには。 -json属性を持つすべてのレコードは、後でJSONに変換できます。

関連する問題