問題タブ [upickle]

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 投票する
2 に答える
86 参照

scala - BooPickle と RocksDb を使用したシリアル化に余分なバイトが追加される

だから私は BooPickle を使用して、Scala クラスをシリアル化してから RocksDB に書き込みます。クラスをシリアライズするには、

私はこの暗黙のクラスを持っています

このメソッドtoStringEncodingが必要なのは、BooPickle がキーの順序に関する RocksDb の要件にうまく対応する方法でケース クラスをシリアル化していなかったからです。次に、一連のキーと値のペアをいくつかの SST ファイルに書き込み、それらを RocksDb に取り込みます。しかし、データベースからキーを検索しようとすると、それらが見つかりません。

データベース内のすべてのキーを反復すると、キーが正常に書き込まれていることがわかりますが、余分なバイトがデータベース内のバイト表現に書き込まれます。たとえば、key.serializeこのようなものを出力する場合

私がデータベースで見つけるのは、このようなものです

余分な非ゼロ バイトは、バイト配列の最後のゼロ バイトを置き換えます。さらに、バイト配列のサイズが異なります。メソッドを呼び出すとserialize、バイト配列のサイズは 512 ですが、データベースからキーを取得すると、サイズは 4112 になります。

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

json - scala ujson.read() は ujson.Obj を返します

Li Haoyi の ujson を使用して json 文字列を読み取ろうとしています。これは文字列です:

そして、これは私がそれを読んだ方法です:

しかし、戻り値の型はujson.Objであり、期待どおりではなくArr(ArrayBuffer(Obj)、 を取得しようとすると が得jsonData(0)られますjson.Value$InvalidData: Expected ujson.Arr

ujson オブジェクトを使用して upickle オブジェクトを作成しようとしましたが、作成できず、この初期エラーが原因であると思われるため、この質問をしています。

なぜこれが起こるのかについてのアイデアはありますか?どんな助けでも大歓迎です!前もって感謝します!!