問題タブ [jsonserializer]
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.
javascript - 一貫性のない結果を提供する JSON の Stringify および Parse 関数
重複の可能性:
JSON.stringify() 奇妙さ
さまざまな JSON メソッド (stringify と parse) を使用していますが、最近、それらが正しく動作しないページに出くわしました。Chrome バージョン 23.0.1271.91 m を使用しています
例として、次をコンソールに投入すると:
私は通常これを返します:

しかし、特にあるページでは、代わりに次のようになります。

解析されるのは、これらの値/プロパティを持つオブジェクトではなく、[{"color": "red"}, {"name": "ryan"}] の値を持つ文字列です。
この問題を解決する方法がよくわかりません。明らかに、連載で何かがうまくいかない。これは、実行中の他のスクリプト (プラグイン) をあまり制御できない環境にあるため、解決策として、干渉を引き起こしている可能性のある他のスクリプトを実際に無効にすることはできません。追加の問題を引き起こす可能性があります。
json - JSON からのプロパティの数値形式のみを受け入れる
私は ASP.Net Web API アプリケーションを開発しており、さまざまなクライアントに REST API を公開しています。ユーザーの JSON ファイルを取得してデータ モデル クラスに変換するときに問題が発生しました。私のJSONは以下のようになります。
私の「myno」が文字列として送信されていることがわかります。しかし、私のサーバー データ モデルでは、「myno」は double 値です。ここで、「myno」の値を「23,45」として送信すると、モデルの MyNo プロパティに 2345 として割り当てられます。これは間違っています。これにより、数値が変更されていることがわかります。間違った変換。私が単に必要としているのは、この変換を制限することです。つまり、クライアントが「myno」プロパティの文字列を送信した場合にエラーを送信したいということです。サーバー データ モデルでは double 値であるため、このプロパティのクライアントからの数値のみを受け入れたいと考えています。つまり、こうなりたい。
どうすればいいですか?
更新: サーバー モデルで int を使用している場合、この問題は解決されます。つまり、クライアントがモデルで int として表されるプロパティに文字列を送信すると、文字列から int への変換を実行できないというエラーがユーザーに表示されます。
android - JSON シリアライザー Android
JSONSerializer() メソッドに JSONLib 2.4 を使用しています。アクティビティを開始するたびに、強制終了します。JSONException をスローしようとしましたが、エラーが発生しました。どうしたの?これは呼び出しです:
これが私のLogCat出力です:
01-14 17:29:24.825: W/dalvikvm(13265): Lnet/sf/json/JSONException のスーパークラスを解決できません。(1034) 01-14 17:29:24.825: W/dalvikvm(13265): クラス 'Lnet/sf/json/JSONException;' のリンク 失敗した 01-14 17:29:24.825: W/dalvikvm(13265): VFY: 例外クラス 813 を解決できません (Lnet/sf/json/JSONException;) 01-14 17:29:24.825: W/dalvikvm(13265) : VFY: addr 0x2e 01-14 17:29:24.825 で例外ハンドラーが見つかりません: W/dalvikvm(13265): VFY: 拒否された Lnet/sf/json/JSONSerializer;.toJSON (Ljava/lang/Object;Lnet/sf /json/JsonConfig;)Lnet/sf/json/JSON; 01-14 17:29:24.825: W/dalvikvm(13265): VFY: 0x002e 01-14 17:29:24.825 でオペコード 0x0d を拒否: W/dalvikvm(13265): VFY: 拒否された Lnet/sf/json/JSONSerializer; .toJSON (Ljava/言語/オブジェクト;Lnet/sf/json/JsonConfig;)Lnet/sf/json/JSON; 01-14 17:29:24.825: W/dalvikvm (13265): Verifier はクラス Lnet/sf/json/JSONSerializer を拒否しました。01-14 17:29:24.856: W/dalvikvm(13265): threadid=11: キャッチされない例外で終了するスレッド (group=0x41b28930) 01-14 17:29:24.872: E/AndroidRuntime(13265): 致命的な例外: AsyncTask #1 01-14 17:29:24.872: E/AndroidRuntime(13265): java.lang.RuntimeException: doInBackground()の実行中にエラーが発生しました 01-14 17:29:24.872: E/AndroidRuntime(13265): at android .os.AsyncTask$3.done(AsyncTask.java:299) 01-14 17:29:24.872: E/AndroidRuntime(13265): java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 01-14 17:29:24.872: E/AndroidRuntime(13265): java.util.concurrent.FutureTask.setException(FutureTask.java:219) 01-14 17:29:24.872: E/AndroidRuntime(13265): java.util で.concurrent.FutureTask.run(FutureTask.java:239) 01-14 17:29:24.872: E/AndroidRuntime(13265):
.net - System.Web.Script.Services.ScriptMethod の json シリアル化をオーバーライドする方法
クラスのシリアル化 (シリアル化) をオーバーライドするベスト プラクティスの方法は何ですか?
具体的には、キーと値のペアのコレクションがあります。デフォルトで生成される JSON は次のようになります。
これは非常に無駄です。
[{"1":"A":},{"2":"B":},{"3":"C":},{"4] のようなものを生成するためにオーバーライドしたいと思います。 ":"D":},{"5":"E":},{"6":"F":}]
これは、長さの半分から 1 バイト離れており、javascript の最後で使いやすくなっています。
実装ISerliazableが機能していないようです-jsonシリアライザーがそれを無視していると思います
Google は私にこれを見つけまし たhttp://blogs.msdn.com/b/carlosfigueira/archive/2011/09/06/wcf-extensibility-serialization-callbacks.aspxより良い方法である必要がありますか?
c# - 動的な ServiceStack.Text json シリアライザー
ServiceStack.Textライブラリを使用して、動的に生成されたオブジェクト (匿名型) をシリアル化しています
それは魅力のように機能しますが、次のエラーが発生する状況があります
状況は、これは異なるタイプのデータでキーワードを使用して検索し、次のように c# dynamic を使用して結果を返す検索方法です
Dataサブタイプのプロパティが多かれ少なかれ、別のタイプがこのようになる可能性があります
次に、これらのオブジェクトを List オブジェクトに追加するdataと、うまく機能し、デバッグで結果を確認できます。

しかし、シリアライザーに行くと、このエラーが発生します
私たちを手伝ってくれますか ..
編集:オブジェクトタイプのキーと結果行の値を使用するリストの代わりに辞書を使用して、この問題を部分的に解決しました
このような結果
しかし、私はまだより良い解決策を探しています
c# - Web サービスで変更された JSON バイト配列値
Web サービス経由で json にバイト配列を渡そうとしています。JSON を逆シリアル化しようとすると、バイト配列の値が不明な値に変わりました。
例として。Androidを使用してWebサービスに渡そうとしたときのバイト値。
コード
画像

JSON をシリアル化しようとするときの WebService。(C#)
コード
画像

Web サービスの Receiversingnature 値の変更。アドバイス/ヘルプをいただければ幸いです。
django - djangoで非モデルクラスをシリアライズする
私はクラスを持っています(非モデル)
次のエラーが発生しました:
class myapp.views.myclass at 0x7faadc020c18> is not JSON serializable
私もdjangoのシリアライザーを試しましたが、モデルクラスでしか機能しないようです
mobj属性オブジェクトを持たないエラーをスローします。
でクラスをシリアル化するにはどうすればよいですかdjango [json format]。
python - MongoDB ObjectID の JSON シリアル化 (スコープ外クエリ)
変数 temp_dict が他の条件以外で使用できるのはなぜですか? 配列内の各項目に ObjectId を設定している MongoDB に配列を保存するとき。Json パーサーは、ObjectId をシリアル化する方法を知りません。
java - Jackson JSON Generator を使用して、複数のオブジェクトを 1 つのフィールドに書き込むにはどうすればよいですか?
次の 3 つのクラスがあるとします (簡潔にするためにゲッターとセッターは省略しています)。
この形式でオブジェクトJsonSerializer.serialize()をシリアル化する関数を作成しようとしています:InfoCollection
これは私が今持っているものです:
次の例外が発生しています。
私は何か小さなものを見逃していますか、それとも完全に間違った方法で進んでいますか?
注:InfoType1これまでに提案された解決策のいくつかは、との各フィールドを個別に記述することを含みInfoType2ます。多くのフィールドを持つ巨大なクラスでソリューションを使用したいので、これを必要としないソリューションを探しています。