問題タブ [json4s]
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.
json - 異なる型の値を持つ Json オブジェクトをどのように作成しますか?
異なる型の値を持つ Json オブジェクトをどのように作成しますか?
私はスプレーjsonを使用しています
ここにコードがあります
動作しますが、かなり重そうです。このようなコードでjsonを定義する方法はありますか?
そう言ってもうまくいかない
私が得る、各フィールドのタイプはコンパイル時に定義されていません。しかし、とにかくシリアライザがパターン マッチングを行うと、なぜ機能しないのでしょうか?
ありがとう!
java - 多くのフィールドを持つjsonオブジェクトの解析
サーバーからjsonを解析してクラスに配置したい。これにはjson4sを使用します。問題は、json オブジェクトに含まれるフィールドが多すぎることです。そのうちの約 40 ~ 50 個で、長い名前を持つものもあります。
それらすべてを保存するための賢明な方法は何だろうか、クラスに 40 ~ 50 のフィールドを作成する必要があるのでしょうか? 前に言ったように、それらのいくつかは長い名前を持つことを覚えておいてください。
私は Scala を使っていますが、Java のアプローチはそれに似ているかもしれないので、Java のタグも追加しました。
scala - Scala で JSON AST を操作する方法
私はjson4sライブラリ(lift-jsonに基づく)を試しています。私がやりたいことの 1 つは、JSON 文字列を解析して AST にし、それを操作することです。
たとえば、フィールドをアップサートしたいと考えています (フィールドが存在しない場合は AST に挿入し、存在する場合はその値を更新します)。
ドキュメントでそれを行う方法を見つけることができませんでした。利用可能な方法を試してみて、次の方法を思いつきました。これは機能しますが、不器用に感じます。
私は多くの理由でそれを嫌います:
parse(json)
toの結果を明示的にキャストする必要があるJObject
upsertField
関数の結果はJValue
です。オブジェクトをさらに操作したい場合は、これを再キャストする必要があります- 機能は
upsertField
非常にエレガントではありません - 階層の最上位にないフィールドでは機能しません
AST を変換するより良い方法はありますか?
EDIT:問題の回避策として、JSONをScalaの通常のクラスに変換し、レンズで操作することができました(Scalaの通常のクラスでレンズを使用する)
json - json4s を使用して Scala アプリで json を生成する
json4s を使用して Scala アプリで JSON を生成しようとしています。かなり簡単ですが、Scalatra アプリでテストするためにまとめたサンプル値を次に示します。
私のコントローラーには、次のものがあります。
ただし、ブラウザに表示される出力は次のとおりです。
_1
と_2
キーがどこから来ているのか手がかりはありますか? 代わりにこの出力を期待していました:
json - Seq-Trait を拡張するケースクラスのシリアル化
Seq から拡張されたケース クラスをシリアル化しようとすると、Seq として処理され、すべての追加フィールドが省略されるようです。
シリアル化は、追加フィールドのない標準シーケンスにつながるだけです。一方、逆シリアル化は失敗します。
ここで私が間違っていることを誰かが知っていますか?
コード:
scala - JString を Double に変換できません
このコードでエラーが発生する理由
それは言うException in thread "main" org.json4s.package$MappingException: Do not know how to convert JString(120.0) into double