問題タブ [json.net]

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 投票する
12 に答える
7433 参照

c# - 実装が簡単でありながら、最も柔軟な .NET オブジェクトのシリアル化は何ですか?

クラス グラフ全体を気にすることなく、オブジェクトをシリアライズおよびデシリアライズしたいと考えています。

柔軟性が重要です。オブジェクト グラフ全体で完全な属性を必要とせずに、渡されたオブジェクトをシリアル化できるようにしたいと考えています。

つまり、バイナリ シリアル化は、他の .NET プラットフォームでのみ機能するため、オプションではありません。また、人が読めて、管理プログラムや他の通訳者が解読できるものを希望します。

DataContract、JSON、および XML シリアライザーの使用に関する問題を発見しました。

  • これらのエラーのほとんどは、リスト/辞書のシリアル化 (つまり、XML Serializable Generic Dictionary ) に集中しているようです。
  • 「たとえば、KnownTypeAttribute 属性を使用するか、DataContractSerializer に渡される既知の型のリストにそれらを追加することにより、静的に認識されていない型を既知の型のリストに追加します。」

理論や記事の読みではなく、実際の経験に基づいて回答してください。

0 投票する
3 に答える
20147 参照

c# - Windows Mobile の C# で JSON を読み取るライブラリはありますか?

Windows Mobile の C# で JSON を解析するためのライブラリを探しています (Visual Studio 2005 で作業しています)。私が見つけた、C# で JSON を解析できるライブラリ (litjson と Jayrock) は、Windows Mobile では機能しません。.NET コンパクト フレームワークには存在しないクラスが必要です。私が見落としているライブラリはありますか?または、これらの状況で JSON を解析する別の簡単な方法はありますか?

0 投票する
9 に答える
18345 参照

nhibernate - JSON.NETおよびnHibernateのコレクションの遅延読み込み

nHibernateでJSON.NETを使用している人はいますか?子コレクションを含むクラスを読み込もうとすると、エラーが発生することに気付きました。

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

c# - Json.net を使用した JSON の解析

JSON.Net ライブラリを使用して JSON を解析しようとしています。ドキュメントは少しまばらなようで、必要なことを達成する方法について混乱しています。解析する必要がある JSON の形式は次のとおりです。

これから本当に必要なデータは、objects 配列内のものだけです。JSonTextReader のようなものでそれを解析し、OBJECT_TYPE や x と y の位置など、必要なものを引き出すことは可能ですか? JSonTextReader私は思い通りに仕事をすることができないようで、その使用例はほとんどまたはまったくありません。

最初にシリアル化してから、オブジェクトで LINQ を使用するのが理想的であり、見つけたすべての例で最初に JSON をシリアル化することについて説明していますが、この構造のオブジェクトをどのように構築するかはわかりません。特にオブジェクト配列は、属性オブジェクトと位置オブジェクトのペアのリストのようなものである必要があります。オブジェクトをコーディングする方法がわからないので、JSon.Net はそれをシリアル化する方法を知っています。

自分で作成した属性オブジェクトに必要なものすべてを引き出す単純なパーサーを自分で作成できると思っていましたが、うまくいきません。

うまくいけば、これはすべて理にかなっており、何かアイデアはありますか?

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

linq-to-sql - 軽量の Linq2Sql プロキシ オブジェクトの作成

Linq2Sql オブジェクトを JSON 経由で jQuery プラグインに送信する最も効率的な方法を見つけようとしています。できれば各クラスにコードを追加する必要はありません。

EntitySet は、再帰を引き起こすだけでなく、( JSON.NETの ReferenceLoopHandling 機能を使用して) 再帰を無視すると、本当に 1 つまたは 2 つのレベルだけが必要なときに、ばかげた量のデータを取得できるため、主な問題です。ユーザー、ロール、およびアクセス許可について話していると、JSON でユーザーのロール、ユーザーのアクセス許可、ロールのアクセス許可、およびロールのユーザーをすべて取得してから、再帰にヒットして停止するため、これは非常に悪くなります。これを、私が実際に必要としているものと比較してください。これは単なる RoleId です。

私の最初のアプローチは、オブジェクトの「簡略化された」バージョンを送信することでした。エンティティを反映し、EntitySets を null に設定しますが、もちろん上記の例では Roles が null に設定されるため、RoleId は null になります。第 2 レベルのプロパティのみを null に設定すると動作しますが、JsonSerializer がリフレクションを実行するときに、強制終了されなかった EntitySets (第 1 レベルのもの) が関連するテーブルを再作成するため、まだデータが多すぎます。私は必要ありません。

すべてのクラスの軽量バージョンを作成し、それらに「From」および「To」スタイルのメソッドを実装する状況には絶対に入りたくありません。これは多くの作業であり、無駄に思えるからです。

もう 1 つのオプションは、関連するプロパティに JsonIgnoreAttribute を配置することですが、これは、クラスを再生成する必要があるたびに悪夢のようなシナリオを引き起こします。

私が好きで嫌いな現在のお気に入りの解決策は、クラスをオプトインのシリアル化モードにすることですが、実際のプロパティに属性を追加できないため、JSON のみのプロパティを部分的に作成する必要があります。クラス。繰り返しますが、これは無駄に思えますが、今のところ最高だと思います。

どんな提案もありがたく受け取った!

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

vb.net - vb.netのjson.net3.5b2のクライアントからjsonを逆シリアル化する

私が抱えている問題のテストケースがあります。基本的に、サーバー上にjsonオブジェクトを作成し、それをクライアント側で作成されたというAJAXに返します。これは正常に機能しますが、サーバー側で送り返して逆シリアル化しようとすると、次の例外が発生します。

'System.String'の型に対してパラメーターなしのコンストラクターが定義されていません。

2 dictionary, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) at system.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) at system.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType(Object o, Type type, JavaScriptSerializer serializer) at System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionarySystem.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target、IDictionary 2 parameters) at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary2 rawParams)at System.Web.Script.Services.RestHandler at System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject(IDictionary 2 rawParams)at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams) .ExecuteWebServiceCall(HttpContext context、WebServiceMethodData methodData)

Default.aspx

Default.aspx.vb

私がここで間違っていることについて助けていただければ幸いです。前もって感謝します。

0 投票する
3 に答える
4748 参照

asp.net-mvc - asp.net mvc json と json.net のどちらが高速ですか?

Asp.net MVC の JSON() 関数でベンチマーク テストを実行した人がいるかどうか、JSON.NET と比較してどうなのか疑問に思っていました。また、最高のjson文字列を出力するのはどれですか?

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

asp.net - 型または名前空間 'Linq' が名前空間 'System' に存在しません

.NET フレームワーク バージョン 2.0 を対象とするJson.NET 2.0 ライブラリをビルドしようとしていますが、このエラーが数回発生します。System.Linq への参照をプロジェクトに追加しようとしましたが、参照リストに存在しません。私は何をすべきか?

0 投票する
3 に答える
142949 参照

json - フォーマットせずに JObject をシリアル化する方法は?

LINQ to JSON (これも同じライブラリによって提供されます) で構築したJObject(Json.Net を使用しています) があります。ToString()でメソッドを呼び出すとJObject、結果が書式設定された JSON として出力されます。

このためにフォーマットを「なし」に設定するにはどうすればよいですか?

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

c# - C# での Chrome ブックマーク JSON データの逆シリアル化

数日前に私が尋ねた質問に答えて、私は自分自身を少しストレッチしようと試みています。私はいくつかの検索を行いました(ここと一般の両方)が、達成したいことに対する答え(または合理的なヒントさえ)を見つけることができません(ただし、いくつかのことは近いものです)。

基本的に、私はJson.NET ライブラリを使用して Google Chrome ブックマーク ファイルのデータを逆シリアル化しようとしています(ただし、より良い代替手段がある場合は、それで十分です。このライブラリのドキュメントは、場所によっては少し混乱しています)。 . 次のステップについて少し混乱しています。これは主に、PHP の JSON データの素晴らしい処理 ( json_decode()を使用) に慣れていて、単一の関数呼び出しと、単純な連想配列アクセスが可能であるためです。

ライブラリ (Json.NET) では、JSON データを逆シリアル化できるオブジェクト型を指定する必要がありますが、ブックマーク ファイル自体の形式を考えると、そのようなオブジェクトを構造化する方法がよくわかりません。形式は次のようなものです。

さて、PHP では、次の行に沿って何かを実行して、必要なデータを取得し、「Json.NET」で終了することにはるかに慣れています。

データを表現するために作成するオブジェクト (ルート オブジェクト、ブックマーク リスト オブジェクト、最後に個々のブックマーク オブジェクトなど) を簡単に見つけることができますが、それらを実装する方法についてはよくわかりません。 、次にライブラリを取得して、関連するオブジェクトに正しく逆シリアル化します。

提供できるアドバイスは大歓迎です。