問題タブ [jerkson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3786 参照

json - Jerkson を使用して JSON をユーザー定義のケース クラスに逆シリアル化する

Jerkson を使用して Scala で JSON を処理するこの優れたチュートリアルに出会いました。特に、JSON をユーザー定義のケース クラスにデシリアライズすることに興味があります。記事には簡単な例があります

Play 2.0.1、Scala 2.9.1-1、Jerkson 0.5.0 を使用しています。

これも Google グループで見つけましたが、役に立ちません。

何か案は?

0 投票する
1 に答える
2395 参照

scala - ジャークソン。JsValue へのマップのシリアル化

私はplayframework 2で組み込みのjersonを使用しています。私が望むのは、異なるタイプの値を含むマップをシリアライズすることだけです:

この場合、私は持っています:

フレームワーク コードをナビゲートすると、 Map[String,V] 型の暗黙的な def mapWrites[V] .. のシリアライザーがあることが示されますが、なぜそれが適用されないのか理解できません。

誰でも私を助けることができますか?

UPD :簡単な回避策を見つけました:

}

しかし、これはそれほどエレガントではありません...

0 投票する
2 に答える
2819 参照

json - Scala でデシリアライズ可能なデータの巨大な JSON ファイルをスキャンする

大きな JSON ファイルを処理し、ファイルを反復処理/ストリーミングする際に、デシリアライズ可能な部分文字列からオブジェクトをインスタンス化できる必要があります。

例えば:

次のインスタンスにのみ逆シリアル化できるとしましょう。

予想される JSON 形式は次のとおりです。

私がやりたいことは次のとおりです。

最後に、Jerkson または Play フレームワークに付属するその他のライブラリを使用するソリューションを見つけたいと思いますが、別の Scala ライブラリがこのシナリオをより簡単に適切なパフォーマンスで処理できる場合: 私は別のライブラリを試すことに反対しません。 . ファイルを手動でシークし、Json ライブラリを使用してそこから解析を続行するクリーンな方法があれば、それで問題ありません。

私がやりたくないのは、一度にファイル全体をメモリに保持すると法外なコストがかかるため、ストリーミングやイテレータを使用せずにファイル全体を取り込むことです。

0 投票する
1 に答える
1327 参照

scala - Jackson を使用している場合、Spray.io で暗黙的な Marshaller を見つけることができませんでした

POST を処理する Spray.io ディレクティブがあり、Jerkson (Jackson のスカラ インターフェイス) を使用して、着信 JSON を適切なクラスに解析したいと考えています。

問題は、コンパイルに行くと、スプレーがマーシャラーを探しに行くことです:

このためにカスタム Marhsaller を作成する必要がありますか? それとも私のディレクティブが正しく書かれていませんか?そして、私がそれを必要とする場合、何か良い例はありますか?

ありがとう!

0 投票する
2 に答える
166 参照

scala - 型の追加パラメーターを持つクラスを定義するscala

私は、他のパラメーターの中でも、BigInt 16 進数値でインスタンス化されるケース クラスを使用しています。このケース クラスを使用して、Jerkson/Jackson 経由で JSON メッセージを逆シリアル化します。Jackson を使用する利点は、署名に基づいてケース クラスのデシリアライゼーションがすぐに使用できることです (推測します)。

現在、16 進エンコーディングの BigInt 値は、追加の基数パラメータ BigInt(hexValue, 16) でインスタンス化する必要があります。ただし、私の JSON メッセージにはそのようなパラメーターは含まれていません。ケースクラスの定義内でこの基数を定義して、ジャクソンが構成なしでクラスを引き続き使用できるようにするソリューションを探しています。何かのようなもの:

別の方法として、a) JSON デシリアライゼーション/シリアライゼーションを明示的に定義するか、b) BigInt の周りに独自のラッパー クラスを定義することを理解しています。ただし、よりエレガントで「スカラっぽい」ソリューションを探しています-もしあれば。

注: Int では不十分です。BigInt である必要があります。

0 投票する
1 に答える
91 参照

java - JSONをJacksonで大まかに解析する方法はありますか?

たとえば、

パーサーに渡された場合、次と同じように扱われることを望みます:

0 投票する
1 に答える
1885 参照

json - Jerkson の使用時に JSON からの先頭と末尾の引用符を維持する文字列

問題の JSON:

}

データを取得するコード:

json JsValue だけを出力すると、JSON 全体が期待どおりに出力されます。最初の項目を出力すると、次のようになります。「バー、クラブ」

JSON フォーマットからの引用符を維持するのはなぜですか? これは文字列の一部ではありません。基本的には、引用符内のコンテンツが文字列であることを示しています。これを修正するにはどうすればよいですか?

0 投票する
3 に答える
1791 参照

scala - scala.runtime.BoxedUnit の Jerkson (Jackson) の問題?

Jerkson は、これまでに見たことのない非常に奇妙なエラーをスローし始めました。

com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class scala.runtime.BoxedUnit and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: scala.collection.MapWrapper["data"])

API からいくつかの基本データを解析しています。私が定義したクラスは次のとおりです。

次のようになりDataます。

これがエラーを引き起こす理由の手がかりはありますか? Jerkson が処理できる単純なクラスのようです。

編集:サンプルデータ: