問題タブ [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.

0 投票する
1 に答える
1517 参照

c# - JSON がラップされているときに JavaScriptSerializer を使用してオブジェクトを逆シリアル化する

JSON のサンプル:

逆シリアル化に使用しているコードは次のとおりです。

逆シリアル化コードで使用しているコードは次のとおりです。

HubspotRecord を構成するコードは省略されています。「1」の後ろにラップされていないjsonデータでプロセスを実行すると、完全に機能します。

現在、私の問題は、jsonが「1」でラップされていることだと考えています。命名規則により、JavaScriptSerializer で属性を使用できず、「1」とマークされたルート要素を作成できません。

何かご意見は?

0 投票する
1 に答える
925 参照

javascript - ASP.NET JavascriptSerializer は不要な配列内の配列を提供しますか?

始める前に、ここで与えられた答えが私の答えの90%であると確信していますが、それを自分の状況に適用する方法がわからないので、助けていただければ幸いです.

JavasriptSerializerを使用して、次のように配列の配列をシリアル化すると:

私は応答でこのようなものを受け取ります:


次のように、Web ページのヘッダーに Javascript を動的に生成できるようにするために、ASP.NET にこの関数の出力を使用させたい場合があります。

私のページ内で次のJSになるために:


配列の配列を文字列 'var myJSArr' に簡単に追加できるように、動的 JS 作成時に JSON の作成またはその処理を調整する最良の方法は何ですか?


将来誰かを助けることを期待して、提供された回答/コメントに照らしてこの質問を編集し、私が望んでいたことが証明されたコードをここに含めます。最初に foo は、このような文字列ではなく配列を返す必要がありました...

これにより、次のような JSON blob が生成されました。

その後、次のコードを使用して JS コードの動的ビルドを行うことができました。次のコードがそれを行うための最良の方法であると確信しているわけではありません(ひどく複雑であってはならない何かのための非常に多くのコードのように思えます)が、少なくとも機能します

0 投票する
2 に答える
929 参照

azure - Azure タイム ゾーンと javascriptserializer オブジェクト

Windows Azure ( http://ipredikt.com )で動作する予測ベースのアプリがあります。私が知る限り、Azure の時計は GMT タイム ゾーンに同期されています。ここに私が遭遇している問題があります:

DateTime 型の CreateDate という DB フィールドがあり、その値を 2011 年 6 月 10 日午前 12 時 30 分に設定したとします。新しい予測が作成されたとき。db テーブルの中をのぞくと、日付が正しく設定されています。この値に触れた​​り、変更したりすることは決してありません。ただし、API で値を読み取り、シリアル化してクライアントに送信すると、2011 年 6 月 9 日午後 5 時 30 分という値の日付が取得されます。(API dll もクラウド上にあり、おそらく DB と併置されています。)

私のクライアント ブラウザは PST (太平洋時間帯) で実行されており、7 時間の違いは PST と GMT の違いによるものと思われます。値をシリアル化するために使用される API コードは次のようになります。

System.Web.Script.Serialization.JavaScriptSerializer シリアライザー = new JavaScriptSerializer();

return serializer.Serialize(dataObject);

これは JavaScriptSerializer オブジェクトのバグですか、それともこのデルタを修正するトリックはありますか? 基本的に、.NET フレームワークがこの値に何らかの形で干渉することは望ましくありません。DB フィールドがそのまま返されるようにしたいだけです。

0 投票する
5 に答える
20590 参照

c# - JavaScriptSerializer による辞書のシリアライズ

どうやら、オブジェクトIDictionary<string,object>の配列としてシリアル化されKeyValuePairます (例: [{Key:"foo", Value:"bar"}, ...])。代わりにオブジェクトとしてシリアル化することは可能ですか (例: {foo:"bar"})?

0 投票する
2 に答える
769 参照

c# - 配列を含む JSON の JavaScriptSerializer

同じタイトルの同様の質問がありますが、解決策は私の問題には有効ではありません。

次の JSON をシリアル化しようとしています。

私のC#でこの構造を使用すると:

上記の JSON を含む POST を JavaScript でこの C# 関数に送信します。

id と text は正しく設定されていますが、q は 2 つの空の Question オブジェクトを含む List に設定されています (Id と Text はそれぞれ null です)。

JSON の形式が正しくありませんか? Questions配列が正しく伝播しないのはなぜですか?

0 投票する
1 に答える
1255 参照

asp.net-mvc - Fluent Nhibernate モデルを介した ASP.NET MVC JSON

JsonResultMVCコントローラーの標準Json(object)メソッドを使用して返そうとしています。私のタイプのオブジェクトはModel1Fluent NHibernate によって構築されています。

Model1は type のプロパティを持っていますModel2。デバッグ モードでは、環境がModel2呼び出されたプロキシの子孫クラスを作成することがわかりますCastle.Proxies.Model2Proxy。これは、私のマッピングを満たすために、Fluent Nhibernate によって内部的に使用されていると思います。そして実行時に、実際の model1.Model2 は typeCastle.Proxies.Model2Proxyです。

問題は、 myModel1がシリアライズされているときに、 もシリアライズModel2されていることです。そして、シリアライザーは、Castle によって生成され、私には必要のないものを含め、このオブジェクトのすべてのプロパティをシリアル化しようとしているようです。例外が発生しなければ問題ありません。つまり、このオブジェクト内のどこかに循環参照が存在し、それが原因で例外が発生します。例外テキストは次のとおりです。

System.InvalidOperationException: A circular reference was detected while serializing an object of type 'System.Reflection.RuntimeModule'

ドメインを再確認したところ、そこに循環参照が見つからなかったので、Castle のせいです。私は正しいですか?キャッスルは本当にその責任を負っていますか?もしそうなら、私の選択肢は何ですか?Castle プロパティを無視するようにシリアライザに指示するにはどうすればよいですか? 特に、実際の型ではなく、定義された型をシリアル化するように指示するにはどうすればよいですか?

この問題に対処するために、ドメイン モデルを ViewModel でカバーする傾向がありますが、これは推奨されるアプローチですが、別の治療法が存在する場合はぜひ知りたいと思っています。

0 投票する
1 に答える
4218 参照

javascript - JsonConvert.SerializeObject(json) を返した後に JavaScript で JSON を解析する [.NET ハンドラ]

.net プラットフォームで Web アプリケーションを開発しています。

JSON オブジェクトを Javascript に返すハンドラー コードを作成しました (AJAX で要求した後)。

ハンドラー コード:

Javascript では、アラートを実行すると、オブジェクトが表示されます。そしてそれは良いです。
しかし、今はそれを JSON に解析したいと考えています。

JSON.parse(msg);エラーが発生する

「JSON.parse: 予期しない文字」

jquery jQuery.parseJSON(msg);-1.6.2を使用すると、このエラーが発生します

jQuery.parseJSON は関数ではありません (私は jquery-1.6.2 を使用しています)

何が問題ですか?

0 投票する
1 に答える
19486 参照

asp.net - ASP.NET での JSON の最大長の問題

出力としてjsonを提供するasp.net 2.0 Webサービスを作成していますが、最大長の制限を超える非常に大きな、分解できないデータセットがあります

インターネットで検索しましたが、.net 3.5 と 4 には解決策がありますが、2.0 にはありません。

JSON のレグ制限を増やす方法を教えてください。

0 投票する
2 に答える
1502 参照

c# - JavaScriptSerializer の使用 C# でジェネリック オブジェクトの配列をデシリアライズする

ループから REST API を呼び出しており、実行時にオブジェクト名が決定されています。ここで 1 つのオブジェクトにリフレクションを使用できますが、オブジェクトのリストを取得するにはどうすればよいですか?