問題タブ [json-deserialization]
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 - pop() を使用せずに JSON サブオブジェクトを取得する方法
pop() 操作を使用せずに JSON サブオブジェクトを取得するにはどうすればよいですか。マルチレベルの JSON があります。ちょうどこのような:
これらの各要素にアクセスするにはどうすればよいですか?
.net - コンバーターでjsonを逆シリアル化する
一部のjsonを.netクラスに逆シリアル化しようとしています:
エントリ部分に問題があります。各配列は文字列で始まりますが、キーがありません。逆シリアル化するクラスは次のようになります。
jsonConverter を使用することを考えていましたが、コンバーターを使用する場合、オブジェクト (各配列の 2 番目のインデックス) をメタデータ クラスに逆シリアル化する方法がわかりません。
java - 文字列ではなく、int に基づく Jackson のポリモーフィック デシリアライゼーション
通常、Jackson でポリモーフィック デシリアライゼーションを行う場合、クラスにマップする文字列フィールドがあり、このように行うことができます。
値が文字列ではなく整数の場合、これを行う方法の簡単な例が見つかりません。たとえば、JSON に "methodName":"firstClassName" の代わりに "methodName":1 が含まれている場合、デシリアライズするクラスをどのように選択すればよいでしょうか?
java - jackson を使用したカスタム オブジェクトの HashMap への逆シリアル化
私は次のクラスを持っています:
次のコードを実行すると:
生成される json 文字列は次のようになります。
私の問題は、上記のjson文字列をデシリアライズして元に戻すことです
物体。
私の逆シリアル化コードは次のようになります。
正しいキーを使用して HashMap に逆シリアル化しますが、値の Theme オブジェクトを作成しません。readValue() メソッドの「HashMap.class」の代わりに何を指定すればよいかわかりません。
どんな助けでも大歓迎です。
xml-serialization - ArrayList 内のオブジェクトを XML にシリアル化するときに型要素が失われる
Jackson を使用して XML にシリアル化するときに問題が発生しているようです。私のコードは以下の通りです:
テストコンテナ
テスチャイルド
使用する
シリアライゼーション:
XmlMapper xm = 新しい XmlMapper(); TestContainer tc = xm.readValue(sb.toString(), TestContainer.class);
逆シリアル化:
System.out.println(xm.writeValueAsString(tc)); tc = xm.readValue(sb.toString(), TestContainer.class);
私がやっていることは、クラスパス上のフォルダーから XML ファイルをロードし、ファイルの内容を StringBuffer に入れることです。問題は、オブジェクトのコレクション用に生成された XML です。XML を記述するときは、次のようなものが必要です。
しかし、私は得ています:
ここで何が欠けているのかわかりません。シリアライゼーション/デシリアライゼーションの JSON 部分には問題がなく、XML だけです。Jackson と JAXB の両方のアノテーションを使用してラッピングをオフにしようとしましたが、次のアノテーションを使用してみました。
- @JsonRootName
- @JsonProperty
- @ジャクソンXmlElementWrapper
- @ジャクソン要素
- @XmlElementWrapper
- @XmlElement
これは私の側ではばかげていると確信していますが、どんな助けでも大歓迎です。
java - JSON: null 値でオブジェクトを逆シリアル化しようとすると JsonMappingException が発生する
null プロパティを含み、JsonMappingException
.
私がやること:
BUT :"firstName = null"
プロパティを破棄する場合 - すべて正常に動作します! つまり、次の文字列を渡します。
質問: この例外を回避する方法、またはシリアライゼーション中に Jackson が null 値を無視することを保証する方法は?
スロー:
メッセージ:
原因:
原因: java.lang.NullPointerException
symfony - symfony2 で JMS シリアライザー ハンドラーを作成する
ここで関連ドキュメントをフォローしようとしました:
http://jmsyst.com/libs/serializer/master/configuration
ここ
http://jmsyst.com/libs/serializer/master/handlers
そしてここ
http://jmsyst.com /bundles/JMSSerializerBundle/master/cookbook/custom_handlers
symfony2 でビルダー オブジェクトを取得しようとしたときに行き詰まりました (このオブジェクトの 2 番目のリンクを参照してください)。サービスは、既にビルドされているシリアライザーです。自分のハンドラーをどこでインスタンス化する必要がありますか?
更新:
考えられる解決策の 1 つを調査しています:
$builder = \JMS\Serializer\SerializerBuilder::create();
または
$builder = new \JMS\Serializer\SerializerBuilder();
、これでうまくいくかもしれませんが、既にインスタンス化されたシリアライザーが私のハンドラーを利用できるようにするとよいでしょう。コントローラーでシリアライザー サービスを取得するには:$serializer = $this->get('jms.serializer');
c# - JSON データをデシリアライズする方法は?
JSON データを扱うのは初めてです。
Web サービスからデータを読み取っています。返されるクエリ データは次のとおりです。
最初にオブジェクトがどのようなものかを定義しなくてもベース オブジェクトが生成されるように、このデータを逆シリアル化する方法はありますか? 上記の例では、オブジェクトは最初の行で定義されています。
一般に、Web サービスは、最初の行が列名を提供し、後続の行がデータ値を提供する 2 次元の JSON 配列としてフォーマットされたクエリ データを返します。
c# - 名前のないJSON配列を逆シリアル化するには?
.Net で JSON からオブジェクトのリストを逆シリアル化するためのクラスを作成する方法がわかりません。
JSON 仕様から、これが有効な JSON であることがわかります。
そこで、デシリアライゼーションを処理するためにこのクラスを構築しました。
メソッドに有効な Json が渡されているにもかかわらず、逆シリアル化されたオブジェクトが null です。
私が試したその他の失敗したことには、 Locations をリストではなく配列にすること (したがって、 public Location[] Location; )、および Json に場所の配列が含まれている場合でも場所への逆シリアル化が含まれます。
では、.Net 開発者はオブジェクトの配列をどのように逆シリアル化する必要があるのでしょうか? 上記が機能することを期待していましたが、機能しません。
java - javaのリストの場合のjackson jsonでのデシリアライズエラー
このクラスに基づいてJacksonでJSONを作成しました:
クラスごとに 2 つのコンストラクターを定義し、後で json ファイルに書き込まれるオブジェクトの作成に使用します。結果は (有効な JSON) です。
ここで、パラメーターを読み取ってロードしたいと思います。次のように定義します。
このエラーがあります: