問題タブ [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.
ruby-on-rails - 遅延ジョブの逆シリアル化エラーを解決するには?
DelayedJob を使用しようとしていますが、ジョブが失敗し、データベースに次のエラーが表示されます。
これを診断する際にどこから始めればよいかわかりません。これはこれまでに一度も発生したことがなく、モデルオブジェクトを問題なくシリアル化するために遅延ジョブを使用したことがあります。今回はなぜ?
前もって感謝します!
android - フィールドがgsonまたはjacksonで2つの異なるタイプを持つことができるjsonの解析
2つの異なるタイプを含むフィールドを持つjsonがあります。
これらの逆シリアル化に問題があります。モデルを含む私のクラスには次のものが含まれます。
そして、私は単に{"@nil":"true"}をnullに変換する必要があります。今、エラーが発生します:
java - Gson - json 文字列をカスタム オブジェクトに変換しようとしています
サーバーから返されたJsonは次のとおりです
ここにエラーのクラスがあります
ここに私の変換コードがあります。
常に JsonSyntaxException をスローしています。ここで私の問題は何ですか?
編集:要求に応じて、ここにさらに詳しく説明します。
私のバックエンドは、残りの API として機能する ASP.NET MVC 2 アプリケーションです。私のアクション(およびサーバーエラーでさえ)はすべてJsonを返すため(組み込みの を使用)、バックエンドはここでは問題ではありませんJsonResult
。これがサンプルです。
基本的なロジックは、ユーザー資格情報を認証し、ExceptionModel を json として返すか、AuthenticationResult を json として返すことです。
これが私のサーバー側の例外モデルです
上記の認証が無効な資格情報で呼び出されると、期待どおりにエラー結果が返されます。返される Json は、質問の上記の Json です。
Android 側では、まずキーと値のペアを使用してオブジェクトを作成します。
次に、http 投稿を送信し、送信されたものを文字列として返します。
次に、その結果をパーサーに渡して、エラーかどうかを確認します。
ただし、JsonSyntaxException は常にスローされます。
c# - このjsonデータをJSON.Netで逆シリアル化するにはどうすればよいですか?
data
次のjsonデータを逆シリアル化するためのプロパティを定義する方法がわかりません...
だから私は..
と....
しかし、それは例外を投げていました"Can't cast float to string"
。そのため、最後の2つのフロートをList<>
..に追加しようとしましたが、失敗しました。
どうすればこれを修正できますか?(json出力を制御できません)。
乾杯 :)
アップデート
jsonプロパティのコンテンツは、data
固定オブジェクトタイプの固定サイズ配列のようです。では、JSON.NETが正確に逆シリアル化する方法を知っているように.NETコードでそれを定義する方法はありますか?そのjsonプロパティのカスタムjsonデシリアライザーを作成する必要がありますか?
json - REST サービスから Json を逆シリアル化する際の問題
JSON文字列を逆シリアル化するのに最も苦労しています。
リクエストで RootElement を指定するとうまく機能する RestSharp API を使用していました。その後、OAuth 機能のために Hammock に移行しましたが、逆シリアル化はそれほど簡単には機能しません。
DataContractJsonSerializer を使用してみました
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List)); var member = (List)ser.ReadObject(response.ContentStream);
しかし、これにより InvalidCastException が発生します。
JsonConvertを試してみました
しかし、例外が発生します: JSON オブジェクトを型 'System.Collections.Generic.List`1[Member]' に逆シリアル化できません。
RestSharp は、ExecuteAsync を呼び出すときにこれを簡単に処理しました。 Client.ExecuteAsync<List<Member>>(request, (response) =>
私は途方に暮れています。たぶん、RestSharp の RootElement プロパティに相当する Hammock が必要ですか?? 私のJsonが変換しにくいだけですか?
ここに私のメンバーオブジェクトがあります
ここにJsonがあります:
UPDATE jsonの結果全体をカプセル化するMemberクラスのラッパーオブジェクトを追加すると、これが修正されました。
次に、次を使用して逆シリアル化できます。
c# - デシリアライズされたjson応答の詳細に一致するオブジェクトを作成します
yahoo apiによって返される複雑なオブジェクトを逆シリアル化しようとしましたが、あまり実験されていません。基本的なオブジェクトを作成しましたが、逆シリアル化されたjsonの詳細と一致していません。誰かが、逆シリアル化した後、この応答jsonで返されたアイテムに一致する正しいオブジェクトを構築するのを手伝ってくれますか?ここで、Jsonと私の基本オブジェクトは詳細と一致していません。ありがとう。
基本オブジェクト
c# - Json C# : 変化するコンテンツまたは json 応答の一部を逆シリアル化する
要求された場所に基づいて、毎回同じ応答を返すわけではない Api を使用します。より詳細な場所もあれば、他のコンテンツよりも多くの属性を持つコンテンツもあります。結果のシリアル化されたオブジェクトは毎回同じではなく、一致しない場合は逆シリアル化エラーが発生します。このプロジェクトのオブジェクトは、コンテンツ レスポンス全体と一致するのではなく、このコンテンツの 1 つの部分であるセントロイドのみに一致します。
誰かが、完全な応答 (重心が同じ場所にない) の代わりにコンテンツの一部を逆シリアル化する、または変化する応答スキーマを逆シリアル化するための最良の方法を指摘できますか?
私は ServiceStack C# シリアライザーを使用していますが、すべての提案を歓迎します。ありがとう。
django - django jsonデータダンプを一度に1レコードずつ逆シリアル化しますか?
「標準」または文書化された方法を使用する代わりに、json-dataを使用してファイルを読み取り、loads(data)simplejsonメソッドを使用して抽出し、レコード内の各列の値を表すディクショナリを作成しようとしています。
レコードごとにdjangoormオブジェクトを作成することは避けたいので、各オブジェクトを表すディクショナリが必要です。これにより、プレーンSQLを使用してデータベースに挿入し、速度を上げることができます。問題は、loads(data)がすべてのデータをメモリに読み込む必要があることです。これを避けて、メモリ使用量を低く抑え、json-dataのエントリのエントリを読み取ります。1つのレコードのデータを生成するイテレータを取得することは可能ですか?次に、jsonデータを逆シリアル化するときに、django ormオブジェクトの作成全体をスキップして、値のディクショナリを取得できますか?
入力と考えは大歓迎です。
御時間ありがとうございます。
c# - XML文字列配列は異なるタイプ名として逆シリアル化されます
私は次のC#クラスプロパティを持っています:
これは、クラスコンストラクタで次のように初期化されます。
デシリアライズすると、次のようになります。
私がこれを手に入れることができれば私はそれが好きなはずです:
タイプ「accountType」のサブクラスを作成せずに、これをどのように行うことができますか?必要なものを取得するために使用できるXML属性プロパティはありますか?
c# - Json.NET で逆シリアル化を指定する
以下のようなやや深いJson構造があり、ワイヤーを介してC#アプリケーションに着信します::
私はこのような逆シリアル化を行っています:
ここで、上記の構造から「結果」辞書を抽出する必要があります。
それを行うことの問題は、それが常にそこにあるとは限らないということです。特に何か他のものに置き換えることができます。エラーが発生したとき。また、Json クライアントから呼び出された関数によって結果が変わる場合があります。したがって、次のような静的な方法で実際に指定することはできません。
今のところ、次のように、やや骨の折れる方法で逆シリアル化を行っています。
つまり、「結果」を JObject にデシリアライズし、それをテキストにシリアライズしてから、ハッシュテーブルにデシリアライズしています。
JObject を直接 Hashtable に変換する方法、または「結果」のような構造を JSON テキストに深くネストして Hashtable にする方法はありますか? 上記のアプローチは機能しますが、私はそのぎこちなさが嫌いです。