タグ付けされた質問 「json.net」

Json.NET(別名Newtonsoft.Json)は、.NET用の人気のある高性能JSONフレームワークです。

21
JSONをASP.NETの単純なDictionary <string、string>に逆シリアル化するにはどうすればよいですか?
JSONの単純なキー/値リストがPOST経由でASP.NETに送り返されます。例: { "key1": "value1", "key2": "value2"} 厳密に型指定された.NETオブジェクトに逆シリアル化するつもりはありません 単純な古いDictionary(Of String、String)または同等のものが必要です(ハッシュテーブル、Dictionary(Of String、Object)、古い学校のStringDictionary-地獄、文字列の2次元配列が機能します。 ASP.NET 3.5で利用できるものなら何でも使用でき、人気のあるJson.NET(既にクライアントへのシリアル化に使用している)も使用できます。 どうやら、これらのJSONライブラリのどちらにも、この額を叩くような明白な機能はありません。それらは、強力なコントラクトを介したリフレクションベースの逆シリアル化に完全に集中しています。 何か案は? 制限: 自分のJSONパーサーを実装したくない ASP.NET 4.0はまだ使用できません JSONの古い非推奨のASP.NETクラスから離れた方がよい

13
json.netを使用してnullの場合、クラスのプロパティを無視する方法
Json.NETを使用してクラスをJSONにシリアル化しています。 私はこのようなクラスを持っています: class Test1 { [JsonProperty("id")] public string ID { get; set; } [JsonProperty("label")] public string Label { get; set; } [JsonProperty("url")] public string URL { get; set; } [JsonProperty("item")] public List&lt;Test2&gt; Test2List { get; set; } } 私は追加したいJsonIgnore()に属性をTest2Listする場合にのみプロパティTest2Listですnull。nullでない場合は、jsonに含めます。
529 c#  json.net 



3
Json.netでシリアル化するときにプロパティ名を変更するにはどうすればよいですか?
C#DataSetオブジェクトにいくつかのデータがあります。このようなJson.netコンバーターを使用して、今すぐシリアル化できます DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); ただし、これはdata.jsonファイルに出力するときのプロパティ名を使用します。プロパティ名を別の名前に変更したいと思います(たとえば、「foo」を「bar」に変更します)。 でJson.netドキュメント、下の「シリアル化と逆シリアル化JSON」→それは「JsonPropertyAttributeは...名前をカスタマイズすることを可能にする」と言う「シリアル化属性」。しかし、例はありません。JsonPropertyAttributeを使用してプロパティ名を別の名前に変更する方法を知っている人はいますか? (ドキュメントへの直接リンク) Json.netのドキュメントはまばらです。良い例があれば、公式ドキュメントに追加してみます。よろしくお願いします!


7
JSON命名規則[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、事実と引用で回答できるようにします。この投稿を編集。 2年前休業。 JSON命名の標準はありますか?アンダースコア(lower_case)で区切られたすべての小文字を使用したほとんどの例が表示されます。しかし、PascalCaseまたはcamelCaseを使用できますか?
379 json  json.net 

11
Newtonsoft(または多分LINQ to JSON?)を使用してJSON to .NETオブジェクトをデシリアライズする
Newtonsoftに関するいくつかの投稿があることを知っているので、うまくいけば、これは正確には繰り返されません... KazaaのAPIによって返されたJSONデータをある種の素敵なオブジェクトに変換しようとしています WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&amp;type=Album"); StreamReader reader = new StreamReader(stream); List&lt;string&gt; list = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;List&lt;string&gt;&gt;(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); そのJsonConvertラインは、私が試していた最新のものです...私はそれを完全には理解しておらず、皆さんに尋ねることによっていくつかのフットワークを排除することを望んでいました。私はもともとそれをディクショナリまたは何かに変換しようとしていました...そして実際、私はそこにいくつかの値を取得する必要があるので、ドキュメントで判断すると、おそらくNewtonsoftのLINQ to JSONがより良い選択でしょうか?考え/リンク? JSON戻りデータの例を次に示します。 { "page": 1, "total_pages": 8, "total_entries": 74, "q": "muse", "albums": [ { "name": "Muse", "permalink": "Muse", …

9
JSON.NETでカスタムJsonConverterを実装して基本クラスオブジェクトのリストを逆シリアル化する方法
ここに記載されているJSON.netの例を拡張しようとしています http://james.newtonking.com/projects/json/help/CustomCreationConverter.html 基本クラス/インターフェースから派生した別のサブクラスがあります public class Person { public string FirstName { get; set; } public string LastName { get; set; } } public class Employee : Person { public string Department { get; set; } public string JobTitle { get; set; } } public class Artist : Person { public …

5
.NET NewtonSoft JSONは別のプロパティ名にマップをデシリアライズします
外部から受け取った以下のJSON文字列があります。 { "team":[ { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"home", "score":"22", "team_id":"500" } }, { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"away", "score":"30", "team_id":"600" } } ] } 私のマッピングクラス: public class Attributes { public string eighty_min_score { get; set; } public string home_or_away { get; set; } public string score { get; set; } public …

14
JSONをXMLまたはXMLからJSONに変換する方法
私は、Json.NETを使用してJSON形式の文字列をオブジェクトに、またはその逆に変換し始めました。Json.NETフレームワークではわかりませんが、JSONの文字列をXML形式に変換したり、その逆を行うことはできますか?
282 c#  json  xml  json.net 

11
ASP.NET MVCコントローラーメソッドからJSON.NETによってシリアル化されたキャメルケースJSONを返すにはどうすればよいですか?
私の問題は、JSON.NET によってシリアル化されたASP.NET MVCコントローラーメソッドからのActionResultを介して(標準のPascalCaseではなく)camelCased JSONデータを返したいということです。 例として、次のC#クラスを考えます。 public class Person { public string FirstName { get; set; } public string LastName { get; set; } } デフォルトでは、このクラスのインスタンスをMVCコントローラーからJSONとして返す場合、次の方法でシリアル化されます。 { "FirstName": "Joe", "LastName": "Public" } 私はそれを(JSON.NETによって)シリアル化したいと思います: { "firstName": "Joe", "lastName": "Public" } どうすればよいですか?

3
JObjectを.NETオブジェクトに逆シリアル化する方法
Newtonsoft JSONライブラリを楽しく利用しています。たとえばJObject、.NETオブジェクトからを作成します。この場合は、Exceptionのインスタンスです(サブクラスの場合とそうでない場合があります)。 if (result is Exception) var jobjectInstance = JObject.FromObject(result); これで、ライブラリがJSONテキスト(つまり文字列)をオブジェクトに逆シリアル化できることがわかりました // only works for text (string) Exception exception = JsonConvert.DeserializeObject&lt;Exception&gt;(jsontext); しかし私が探しているのは: // now i do already have an JObject instance Exception exception = jobjectInstance.???? さてJObject、JSONテキストに戻ってから逆シリアル化機能を使用できることは明らかですが、それは私には逆に思えます。

6
Newtonsoft.Json.Linq.JArrayを特定のオブジェクトタイプのリストに変換する
次のタイプの変数があります{Newtonsoft.Json.Linq.JArray}。 properties["Value"] {[ { "Name": "Username", "Selected": true }, { "Name": "Password", "Selected": true } ]} 私が達成したいのは、これを次のタイプのList&lt;SelectableEnumItem&gt;場所に変換することですSelectableEnumItem: public class SelectableEnumItem { public string Name { get; set; } public bool Selected { get; set; } } 私はプログラミングに慣れていないので、これが可能かどうかはわかりません。実例を参考にしていただければ幸いです。
236 c#  json.net 

30
ファイルまたはアセンブリ「Newtonsoft.Json、Version = 4.5.0.0、Culture = neutral、PublicKeyToken = 30ad4fe6b2a6aeed」を読み込めませんでした
エラーが発生する System.IO.FileLoadException:ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 4.5.0.0、Culture = neutral、PublicKeyToken = 30ad4fe6b2a6aeed'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) CIビルド用 私が試した解決策 &lt;dependentAssembly&gt; &lt;assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /&gt; &lt;bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /&gt; &lt;/dependentAssembly&gt; それもうまくいきませんでした
233 asp.net  json.net 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.