問題タブ [cheshire]

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 に答える
237 参照

json - Cheshire は値のないキーを省略できますか?

私はCheshireを使用して、次のようなデータ構造の JSON を生成しています。

次のような JSON が生成されます。

私が望むのは、JSON が値のないキーを省略できるようにすることです。例えば

チェシャーはこれを行うことができますか?を呼び出す前にマップを事前にフィルター処理することはできますgenerate-stringが、とにかくチェシャーは私のデータ構造をトラバースする必要があるため、チェシャーにフィルター処理を行うように指示する方がパフォーマンスが高いと考えました。

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

clojure - Clojure で type フィールドを追加してレコードを JSON オブジェクトとしてエンコードする

Cheshire のカスタム エンコーダーはこの問題に適しているようで、私は小さなヘルパー関数を書きました。

しかし、それは奇妙な末尾を生成し""ます。

=> {"a":"abc","type":"A"} ""

これは何が原因ですか?そして、検討する価値のある別のアプローチはありますか (この型トークンに基づいてレコードにデコードできる必要もあります)?

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

json - Clojure JSON: 例外: com.fasterxml.jackson.core.JsonGenerationException: クラスのオブジェクトを JSON エンコードできません:

clojure neocons を使用して Neo4j データストアにノードを作成しようとしていますが、json のフォーマットに関連していると思われるエラーが発生しています。

エラー レポートに基づいて、これは Cheshire に関連している可能性があると思われます。しかし、エラーが発生したファイルに Cheshire ライブラリが含まれていないため、混乱しています。

cors POST & GET リクエストを作成しており、controller.clj から JSON を返す必要があるため、これをラッパーとして使用しています。

以下は、私のcontroller.cljで参照されているライブラリです

controller.clj の POST エンドポイント コードは次のとおりです。

私のモデルを通過し、dao_graph.clj にある参照ライブラリは次のとおりです。

以下は、dao_graph.clj 内で呼び出される関数の定義です。

そして、「...」をキーとしてマップを返す暗号クエリを次に示します。

この問題の解決にご協力いただき、誠にありがとうございます。

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

clojure - pmap|reducers/map がすべての CPU コアを使用していないのはなぜですか?

100 万行のファイルを解析しようとしています。各行は、書籍に関する情報 (著者、内容など) を含む json 文字列です。を使用しようとするとプログラムが をスローするため、 iotaを使用してファイルをロードしています。また、チェシャを使用して文字列を解析しています。プログラムは単にファイルをロードし、すべての本のすべての単語を数えます。OutOfMemoryErrorslurp

私の最初の試みpmapには、重い作業が含まれていましたが、これは基本的にすべての CPU コアを利用することになると考えました。

すべてのコアを使用しているように見えますが、各コアがその容量の 50% 以上を使用することはめったにありません。私の推測では、pmap のバッチ サイズに関係しているため、いくつかのコメントがライブラリを参照しているという比較的古い質問clojure.core.reducersに出くわしました。 .

を使用して関数を書き直すことにしましたreducers/map

ただし、CPU の使用率は悪く、以前の実装と比較して完了するまでに時間がかかります。

私は何を間違っていますか?大きなファイルを解析するとき、mmap の読み込み + レデューサーは正しいアプローチですか?

編集:これは私が使用しているファイルです。

EDIT2:iota/seq代わりに次のタイミングがありますiota/vec