問題タブ [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.

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

json - 異なる型の値を持つ Json オブジェクトをどのように作成しますか?

異なる型の値を持つ Json オブジェクトをどのように作成しますか?

私はスプレーjsonを使用しています

ここにコードがあります

動作しますが、かなり重そうです。このようなコードでjsonを定義する方法はありますか?

そう言ってもうまくいかない

私が得る、各フィールドのタイプはコンパイル時に定義されていません。しかし、とにかくシリアライザがパターン マッチングを行うと、なぜ機能しないのでしょうか?

ありがとう!

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

java - 多くのフィールドを持つjsonオブジェクトの解析

サーバーからjsonを解析してクラスに配置したい。これにはjson4sを使用します。問題は、json オブジェクトに含まれるフィールドが多すぎることです。そのうちの約 40 ~ 50 個で、長い名前を持つものもあります。

それらすべてを保存するための賢明な方法は何だろうか、クラスに 40 ~ 50 のフィールドを作成する必要があるのでしょうか? 前に言ったように、それらのいくつかは長い名前を持つことを覚えておいてください。

私は Scala を使っていますが、Java のアプローチはそれに似ているかもしれないので、Java のタグも追加しました。

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

scala - Scala で JSON AST を操作する方法

私はjson4sライブラリ(lift-jsonに基づく)を試しています。私がやりたいことの 1 つは、JSON 文字列を解析して AST にし、それを操作することです。

たとえば、フィールドをアップサートしたいと考えています (フィールドが存在しない場合は AST に挿入し、存在する場合はその値を更新します)。

ドキュメントでそれを行う方法を見つけることができませんでした。利用可能な方法を試してみて、次の方法を思いつきました。これは機能しますが、不器用に感じます。

私は多くの理由でそれを嫌います:

  1. parse(json)toの結果を明示的にキャストする必要があるJObject
  2. upsertField関数の結果はJValueです。オブジェクトをさらに操作したい場合は、これを再キャストする必要があります
  3. 機能はupsertField非常にエレガントではありません
  4. 階層の最上位にないフィールドでは機能しません

AST を変換するより良い方法はありますか?

EDIT:問題の回避策として、JSONをScalaの通常のクラスに変換し、レンズで操作することができました(Scalaの通常のクラスでレンズを使用する

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

json - json4s を使用して Scala アプリで json を生成する

json4s を使用して Scala アプリで JSON を生成しようとしています。かなり簡単ですが、Scalatra アプリでテストするためにまとめたサンプル値を次に示します。

私のコントローラーには、次のものがあります。

ただし、ブラウザに表示される出力は次のとおりです。

_1_2キーがどこから来ているのか手がかりはありますか? 代わりにこの出力を期待していました:

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

json - Seq-Trait を拡張するケースクラスのシリアル化

Seq から拡張されたケース クラスをシリアル化しようとすると、Seq として処理され、すべての追加フィールドが省略されるようです。

シリアル化は、追加フィールドのない標準シーケンスにつながるだけです。一方、逆シリアル化は失敗します。

ここで私が間違っていることを誰かが知っていますか?

コード:

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

scala - JString を Double に変換できません

このコードでエラーが発生する理由

それは言うException in thread "main" org.json4s.package$MappingException: Do not know how to convert JString(120.0) into double