0

まだasp.net 2.5で立ち往生しているWebアプリがあります。一部のデータを JSON オブジェクトにロードし、localStorage を使用してそれらをアプリケーションに渡すなど、フロント エンドでいくつかの新しいテクノロジの使用を開始しました。それは本当にうまくいっています。

将来的には、ASP.NET Web フォーム アーキテクチャを HTML5/JQuery フロントと Web API バックエンドに変更する予定です。そのため、古い Web フォームのポストバックとビジネス オブジェクトに制限されたまま、その将来に向けて記述しようとしています。そのため、現在、検索フォームから検索結果ページの Web フォームに投稿しており、ビジネス オブジェクトからメソッドを呼び出して、検索結果を取得して返します。

渡す基準オブジェクトには、20 程度の値といくつかのコレクション (製品ライン ID、カテゴリ ID など) があります。そのため、少し複雑なオブジェクトです。古いフォームでは、コントロールから値を取得して検証し、asp.net コントロールを使用して渡しました。これは単一のフォーム ソリューションでした。新しいソリューションには、検索フォームと結果ページがあります。内部ストレージの JSON オブジェクトでフォームからフォームへ値を渡します。サーバー側からは実際には取得できないため、結果ページに POST するときにサーバー側で取得できるフォームの非表示フィールドに値を隠しておきました (最終的には新しいページから API を呼び出します)。 ajax を使用したフォーム)。データを確認できるようになったので、asp.net のコード ビハインドで JSON オブジェクトを解析して操作するにはどうすればよいでしょうか。20 程度の検索基準値をロードし、ID コレクション (Guid および int) を反復処理して、それらを同じ基準オブジェクトにロードする必要があります。このオブジェクトは検索メソッド パラメータとして渡され、検索結果が返されます。サーバー側でjsonを操作する方法がわかりません。

4

2 に答える 2

3

質問を理解できれば、サーバーに JSON 文字列があり、それを操作するだけで済みます。

最も簡単な方法は、データを表すクラス (この場合はいくつかのクラス) を定義し、JSON をクラスのインスタンスに逆シリアル化することです。そこから、通常のオブジェクトを取得し、必要に応じて JSON にシリアル化するなど、必要なことを何でも行うことができます。

JSON.NET (別名 Newtonsoft.Json) を使用すると、のように簡単になります。

var myObject = JsonConvert.DeserializeObject<SomeType>(jsonString);

クラスの作成にサポートが必要な場合は、サンプルの JSON ファイルを渡すことができるjson2csharpを使用できます。これにより、適切な C# クラスが作成されます。

于 2013-09-17T22:33:54.833 に答える
0

.Net フレームワークが 3.5 以降にアップグレードされている場合は、DataContractJsonSerializer クラスを使用できます。

しかし、ウェブでこの記事を見つけましたhttp://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20

Dojr.Net ライブラリを使用しており、.Net 2.0 と互換性があります。

お役に立てれば。

于 2013-09-17T22:33:59.440 に答える