問題タブ [lift-json]

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

scala - 型フィールドに基づいて、JSON をポリモーフィック型に逆シリアル化します

Lift-json 2.6 と Scala 2.11 を使用しています。

「センサー」のマップを表す JSON 文字列をケース クラスに逆シリアル化したい (JSON へのシリアル化はまったく気にしません)。

ここにあるのは、プロパティstateによって識別されるタイプ依存フィールドを持つ、各センサー クラスのいくつかの共通フィールドです。sensorType

アイデアは、Web サービスを呼び出して、センサー情報のマップを取得することです。これは、任意の数の任意の種類の異なるセンサーにすることができます。可能なタイプのセットは事前にわかっていますが、どの特定のセンサーが返されるかは事前にわかりません。

JSON は次のようになります。

(実際のデータにはさらに多くのフィールドがあり、上記のケース クラスと JSON は削減されたバージョンです。)

JSON を使用するには、次のようにします。

stateもちろん、これはフィールドを省略しても機能します。

フィールドstateの値に基づいて、実行時に選択するタイプを抽出プロセスにどのように伝えることができますか? sensorTypeまたは、カスタムのデシリアライザーを作成する必要がありますか?

この質問は、他の JSON ライブラリではなく、lift-json に特に関連しています。

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

scala - Scalaで非ケースクラスをシリアライズすることは可能ですか?

Json4s、リフト、またはその他のライブラリを使用して、以下のクラスのオブジェクトをシリアル化することは可能ですか?

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

scala - Scala: 部分関数エラー: PartialFunction として扱いたい場合は _ を使用してください

次のコードは機能しません: FileSystems.getDefault.getPath は java.nio パッケージからのものです。

アップデート:

メソッド createCalculation は次のとおりです。

注: MyLocation は、MyMessage を拡張するケース クラスです。

// Req は次のクラスです: net.liftweb.http.Req

コンパイラは次のように文句を言います。

これは fromJsonVal のメソッド定義です

JValue は net.liftweb/json からのもので、次のとおりです。 封印された抽象クラス JValue() は、java.lang.Object を net.liftweb.json.Diff.Diffable { <> } で拡張します。

更新: コンパイラは、エラーがこのコード行にあると報告しています

このコンパイル エラーをどのように修正すればよいと思いますか?

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

json - リフト json :net.liftweb.json.MappingException: 不明なエラー

Int とメッセージのリストを含む Inbox という名前のクラスがありますが、Messages は別のクラスであるため、問題は Inbox クラスを MongoDB に保存することであり、それをシリアル化する必要があるため、lift json を使用しています。逆シリアル化について

ここに私のコードがあります

Meesageクラスは

次の出力がコンソールに出力されます

この問題を解決する方法を教えてください

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

json - クラスに属性の値を設定し、lift json を使用して json に変換する方法

ChildLift Json を使用して JSON に変換したいという名前のクラスがあります。すべて正常に動作していますが、問題は、Scala セッターを介して属性の値を設定していますが、この新しい値が Json に保存されていないことです。

コードは次のとおりです。

コンソールに表示される出力は次のとおりです。

number1
文字列に変換された子クラス{"str":"Mary","Num":5,"MyList":[1,2],"myDate":{}}
Child のオブジェクトは Child1(Mary,5,List( 1, 2),2015-07-24T14:04:09.266+05:00)
strMary
Num5
MyListList(1, 2)
myDate2015-07-24T14:04:09.266+05:00
数値 555

obj.number値が表示されるのはなぜ555ですか? 印刷する必要があります1

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

java - リフトjson:Java 8 LocalDateTimeのカスタムシリアライザーがマッピング例外をスローする

私はシリアル化および逆シリアル化したいchild2という名前のクラスを持っています。クラスにはLocalDateTime属性が含まれており、2つのソリューションで試したカスタムシリアライザーを作成する必要がありますが、両方とも例外をスローしていましたここに私のコードがあります

解決策 1

とその投げmapping exception

解決策 2

また、マッピング例外をスローします

この問題を解決する方法を教えてください.Java 8 LocalDateTimeのシリアライザーをどのように書くべきですか

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

json - JSON を持ち上げる: タプルの変換リストを JsonAST に変換する方法は?

次のコードは、List[JsonAst.JObject] を生成します。

これはしません。List[(String, Int)] を生成します。

この List[(Int, Int)] を JSON に変換するにはどうすればよいですか?