問題タブ [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.
scala - 型フィールドに基づいて、JSON をポリモーフィック型に逆シリアル化します
Lift-json 2.6 と Scala 2.11 を使用しています。
「センサー」のマップを表す JSON 文字列をケース クラスに逆シリアル化したい (JSON へのシリアル化はまったく気にしません)。
ここにあるのは、プロパティstate
によって識別されるタイプ依存フィールドを持つ、各センサー クラスのいくつかの共通フィールドです。sensorType
アイデアは、Web サービスを呼び出して、センサー情報のマップを取得することです。これは、任意の数の任意の種類の異なるセンサーにすることができます。可能なタイプのセットは事前にわかっていますが、どの特定のセンサーが返されるかは事前にわかりません。
JSON は次のようになります。
(実際のデータにはさらに多くのフィールドがあり、上記のケース クラスと JSON は削減されたバージョンです。)
JSON を使用するには、次のようにします。
state
もちろん、これはフィールドを省略しても機能します。
フィールドstate
の値に基づいて、実行時に選択するタイプを抽出プロセスにどのように伝えることができますか? sensorType
または、カスタムのデシリアライザーを作成する必要がありますか?
この質問は、他の JSON ライブラリではなく、lift-json に特に関連しています。
scala - Scalaで非ケースクラスをシリアライズすることは可能ですか?
Json4s、リフト、またはその他のライブラリを使用して、以下のクラスのオブジェクトをシリアル化することは可能ですか?
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 { <> } で拡張します。
更新: コンパイラは、エラーがこのコード行にあると報告しています
このコンパイル エラーをどのように修正すればよいと思いますか?
json - リフト json :net.liftweb.json.MappingException: 不明なエラー
Int とメッセージのリストを含む Inbox という名前のクラスがありますが、Messages は別のクラスであるため、問題は Inbox クラスを MongoDB に保存することであり、それをシリアル化する必要があるため、lift json を使用しています。逆シリアル化について
ここに私のコードがあります
Meesageクラスは
次の出力がコンソールに出力されます
この問題を解決する方法を教えてください
json - クラスに属性の値を設定し、lift json を使用して json に変換する方法
Child
Lift 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
。
java - リフトjson:Java 8 LocalDateTimeのカスタムシリアライザーがマッピング例外をスローする
私はシリアル化および逆シリアル化したいchild2という名前のクラスを持っています。クラスにはLocalDateTime属性が含まれており、2つのソリューションで試したカスタムシリアライザーを作成する必要がありますが、両方とも例外をスローしていましたここに私のコードがあります
解決策 1
とその投げmapping exception
解決策 2
また、マッピング例外をスローします
この問題を解決する方法を教えてください.Java 8 LocalDateTimeのシリアライザーをどのように書くべきですか
json - JSON を持ち上げる: タプルの変換リストを JsonAST に変換する方法は?
次のコードは、List[JsonAst.JObject] を生成します。
これはしません。List[(String, Int)] を生成します。
この List[(Int, Int)] を JSON に変換するにはどうすればよいですか?