問題タブ [javascriptserializer]
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.
c# - JavaScriptSerializer と ValueTypes (構造体)
プロジェクトでは、C# でいくつかの構造体を作成しました。プロジェクト自体は ASP.Net MVC 2 プロジェクトです。
をちょきちょきと切る:
これを作成したのは、char 変数を特定の数の値に制限する必要があったためです。(列挙型を作成することもできましたが、これらの値はデータベースでも使用されるため、変換する必要があります)
今、私はJsonResultを作成する必要があります
しかし、これを行うと、次の結果が得られます。
の結果が得られると期待していました
TypeConverter (CanConvertTo(string))、Custom Type Serializer (JavaScriptSerializer.RegisterConverters()) など、いくつか試してみましたが、機能しないか、「複雑な」json オブジェクトを返す必要があります。
これについて何か考えはありますか?
値型を値としてシリアライズしたい...
c# - c# オブジェクト エラーの JSON リストをデシリアライズする
オブジェクトのリストに逆シリアル化すると機能しますが、リスト型のオブジェクトに逆シリアル化するとエラーになります。それを機能させる方法はありますか?
ページ名: testjson.aspx
エラー メッセージ: 値 "System.Collections.Generic.Dictionary`2[System.String,System.Object]" は "JSON.Person" 型ではないため、このジェネリック コレクションでは使用できません。
c# - JSON の解析に助けが必要
JSON を解析する次のコードは機能しません。私は何を間違っていますか?
ありがとう
asp.net-mvc - 循環参照エラーの原因となっているプロパティを発見する
nhibernate オブジェクトをデシリアライズしようとしています。何らかの理由で、循環参照エラーが発生しています。問題は、エラーの原因となっているプロパティを特定できないことです。接続されているすべてのクラスを [ScriptIgnoreAttribute] でマークしましたが、まだ何もマークしていません。
ajax - Telerik MVC Q1 2011 Grid で Ajax Edit を使用すると、Dictionary オブジェクトをシリアル化すると壊れる
Telerik MVC Q1 2011 には、最初の重大な変更として以下がリストされています。
Q3 2010 Service Pack 1 (アセンブリ バージョン 2010.3.1318) からの変更点
重大な変更
Ajax 編集中にデータ項目全体がサーバーに送信される
グリッドは、ajax 編集中にデータ項目オブジェクト全体をサーバーに送信するようになりました。それ以前は、編集可能なフィールドのみが送信されていました。
それが私の問題の原因であるかどうかはわかりませんが、Ajax 編集が有効になっている私のグリッドは、以前は正常に機能していたのに、実際に壊れています。残念ながら、それを修正するために何をすべきかわかりません。
Telerik 関連の問題についてサポートを提供している場合は、Telerik フォーラムの私の投稿にもアクセスできると思います。そこには、問題の例として 2 つのプロジェクトが添付されています。1 つは Telerik MVC Q3 2010 を使用して動作し、もう 1 つは Telerik MVC Q1 2011 を使用して動作しないことを除いて、それらは同一です。
例外の詳細: System.ArgumentException: タイプ 'blah' は、辞書のシリアル化/逆シリアル化ではサポートされていません。キーは文字列またはオブジェクトである必要があります。
例を確認して、最新バージョンでビジネスを再開する方法を教えてください。
ありがとうございました!
c# - 関数パラメーターを使用してオブジェクトをシリアル化するJSON
私はこのC#オブジェクトを持っています:
ajax呼び出しでブラウザーに渡すには、JSONシリアル化する必要があります。JavascriptSerializerを使用していますが、次のJSONにシリアル化されます。
しかし、私が必要としているのは:
- 関数定義を引用符で囲みません。
現在、JSONオブジェクトがブラウザーに到達して作成されると、「callback」パラメーターは関数ではなく文字列になります。できればサーバー側で修正する方法はありますか?
c# - JavaScriptSerializerを使用して複数のJSON結果を逆シリアル化する
この質問の最後にあるサンプルJSONを以下で逆シリアル化しようとしています。ただし、results.countは常に0です。このJSONを複数のデータで逆シリアル化して、ループできるようにするにはどうすればよいですか。
Json文字列:
MVCEのC#文字列としてのJSON:
c# - JavascriptSerializer を使用してカスタム型プロパティを文字列にシリアル化する
オブジェクトを JSON 表現にシリアル化し、クライアント側で使用するために、しばらくの間 .NET JavascriptSerializer クラスを使用しています。int、string などの既定の型を使用する限り、すべてがうまく機能します。ただし、オブジェクトのカスタム型プロパティをシリアル化する必要があります。私のクラスの例を見てみましょう:
私が欲しいのは、次のようなクライアント側オブジェクトです。
これを機能させるために、JavaScriptConverter を使用してみましたが、辞書しか処理できないため、問題は解決しないようです。結果は次のようになります。
それは私が望むものではありません。ちなみに、MyCustomObject クラスに toString を実装しました。
助言がありますか?
ありがとうございます。
c# - JavaScriptSerializer() を使用した JSON ファイルのデシリアライズ
逆シリアル化する json ファイルの構造は次のようになります。
JavaScriptSerializer のプロパティとしてファイル名を持つクラスを作成しました。json を逆シリアル化するために使用するコードは次のとおりです。
私の問題は、json ファイルのユーザー フィールドを読み取る方法です。以下のようなものです。
サブプロパティと値があります。Response クラスでどのように名前を付けることができますか。私の応答クラスは次のようになります。
それを行うのに最適なケースは何ですか?
c# - 拡張クラスを介してEntityFrameworkオブジェクトをジェネリッククラスにしますか?
PagePreferenceというEFオブジェクトがあります。対応するテーブルには、UserName(PK、varchar(200)、not null)、PageName(PK、varchar(700)、not null)、およびPageState(text、null)の3つのフィールドが含まれています。PageStateフィールドには、シリアル化された(json)オブジェクトが含まれています。'partial'キーワードを介してこのEFオブジェクトを拡張する別のクラスファイルがあります。アイデアは、任意のページで、ページの状態を含むオブジェクトを作成し、それをPagePreferenceオブジェクトのPageStateフィールドにシリアル化できるということです。各ページには異なるPageStateオブジェクトがあるため、相互に互換性はありません。このため、PagePreferenceオブジェクトでジェネリックス(PagePreferenceなど)を使用して、オブジェクトが読み込まれたときにページの状態を適切なクラス('T')に逆シリアル化できるようにします。でも、拡張されたPagePreferenceオブジェクトに汎用表記を追加すると、VisualStudioはそれをしばらくの間新しいオブジェクトと見なします。これを機能させる方法を知っている人はいますか?