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

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

30
ファイルまたはアセンブリ 'Newtonsoft.Json'またはその依存関係の1つを読み込めませんでした。マニフェストの定義がアセンブリ参照と一致しません
検索後に試したもの: Web.Configで古いバージョンにバインディングを配置します。 <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.1.0" /> </dependentAssembly> .csprojファイルを編集して、Newtonsoft参照が1つだけになるようにします。 <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <SpecificVersion>False</SpecificVersion> <Private>True</Private> </Reference> すべてのNewtonsoft.Json.dllをコンピューターで検索し、6.0.1以外のすべてのバージョンを削除して、一時フォルダーの内容を削除します Nuget Managerコンソールでパッケージを修復/再インストールします ビルドは成功しますが、サイトにアクセスするとエラーが発生します。 編集 わかりましたので、すべてのnugetパッケージのように再インストールしようとしましたが、newtonsoft.json.dllのバージョン4.5が追加されたようですが、同じエラーが発生します。私のプロジェクトのターゲットフレームワークは.NET 4.5.1で、ここに私が今得ているスタックトレースがあります。 「/」アプリケーションでのサーバーエラー。 ファイルまたはアセンブリNewtonsoft.Jsonまたはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) 説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについては、スタックトレースを確認してください。 例外の詳細::System.IO.FileLoadExceptionファイルまたはアセンブリNewtonsoft.Jsonまたはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) ソースエラー: 現在のWeb要求の実行中に未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。 アセンブリロードトレース:次の情報は、アセンブリをNewtonsoft.Jsonロードできなかった理由を特定するのに役立ちます。 === Pre-bind state information === LOG: DisplayName = Newtonsoft.Json (Partial) WRN: Partial …

7
C#でJSONを解析する
Google AJAX Search APIからのJSONデータを解析しようとしています。このURLを持っているので、結果を表示するために分解したいと思います。私は現在このコードを書いていますが、単純化されたJSON文字列を使用した多数の例がありますが、次に何をするかについてはかなり迷っています。 一般にC#と.NETが初めてなので、ASP.NETページの本物のテキスト出力を取得するのに苦労したため、JSON.NETを試すことをお勧めします。Google AJAX Search APIからJSONを取得して画面に出力するコードを単に記述するだけの正しい方向に誰かが私を向けることができますか? 編集:すべて修正されました!すべての結果は正常に機能しています。Dreas Grech、ありがとうございます! using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.ServiceModel.Web; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.IO; using System.Text; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs …
201 c#  asp.net  json  parsing  json.net 

5
Json.NETはストリームとの間でシリアル化/逆シリアル化できますか?
Json.NETはDataContractJsonSerializerよりも高速であると聞いたので、試してみたいと思いました... しかし、文字列ではなくストリームを受け取るJsonConvertのメソッドは見つかりませんでした。 たとえば、WinPhoneでJSONを含むファイルを逆シリアル化するには、次のコードを使用してファイルの内容を文字列に読み取り、JSONに逆シリアル化します。私の(非常にアドホックな)テストでは、DataContractJsonSerializerを使用してストリームから直接逆シリアル化するよりも約4倍遅いようです... // DCJS DataContractJsonSerializer dc = new DataContractJsonSerializer(typeof(Constants)); Constants constants = (Constants)dc.ReadObject(stream); // JSON.NET string json = new StreamReader(stream).ReadToEnd(); Constants constants = JsonConvert.DeserializeObject<Constants>(json); 私はそれを間違っていますか?


4
JSONファイルをC#で書き込む方法
C#でJSON形式を使用して、次のデータをテキストファイルに書き込む必要があります。大括弧は、有効なJSON形式であるために重要です。 [ { "Id": 1, "SSN": 123, "Message": "whatever" }, { "Id": 2, "SSN": 125, "Message": "whatever" } ] これが私のモデルクラスです: public class data { public int Id { get; set; } public int SSN { get; set; } public string Message { get; set;} }

8
JSON.NETを使用したJSONデータのC#への逆シリアル化
私はC#とJSONデータの操作に比較的慣れていないため、ガイダンスを求めています。私はC#3.0と.NET3.5SP1、およびJSON.NET 3.5r6を使用しています。 JSON構造から移植する必要がある定義済みのC#クラスがあります。ただし、Webサービスから取得されるエントリのすべてのJSON構造に、C#クラス内で定義されているすべての可能な属性が含まれているわけではありません。 私は間違っていると思われることを困難な方法で行っており、JObjectから各値を1つずつ取り出して、文字列を目的のクラスプロパティに変換しています。 JsonSerializer serializer = new JsonSerializer(); var o = (JObject)serializer.Deserialize(myjsondata); MyAccount.EmployeeID = (string)o["employeeid"][0]; JSON構造をC#クラスに逆シリアル化し、JSONソースから欠落している可能性のあるデータを処理する最良の方法は何ですか? 私のクラスは次のように定義されています: public class MyAccount { [JsonProperty(PropertyName = "username")] public string UserID { get; set; } [JsonProperty(PropertyName = "givenname")] public string GivenName { get; set; } [JsonProperty(PropertyName = "sn")] public string Surname { get; …

3
json.netには重要な方法がありますか?
私の応答にキー「エラー」がある場合、エラーを処理して警告ボックスを表示する必要があります。 json.netには「ハスキー」メソッドが存在しますか?お気に入り: var x= JObject.Parse(string_my); if(x.HasKey["error_msg"]) MessageBox.Show("Error!")
139 c#  json  json.net 


8
Json.Netでシリアル化するときにカスタムのDateTime形式を指定する
ASP.NET Web APIを使用して一部のデータを公開するAPIを開発しています。 APIの1つで、クライアントは日付をyyyy-MM-ddフォーマットで公開することを望んでいます。GlobalConfiguration.Configuration.Formatters.JsonFormatterこれはこのクライアントに非常に固有であるため、グローバル設定(など)を変更したくありません。そして、私はそれを複数のクライアントのためのソリューションで開発しています。 私が考えることができる解決策の1つは、カスタムを作成しJsonConverterてから、それをカスタム書式設定を行う必要があるプロパティに置くことです 例えば class ReturnObjectA { [JsonConverter(typeof(CustomDateTimeConverter))] public DateTime ReturnDate { get;set;} } それを行う簡単な方法が他にあるかどうか疑問に思っています。

5
JSON.net:デフォルトのコンストラクターを使用せずに逆シリアル化する方法?
デフォルトのコンストラクターと、一連のパラメーターを受け取るオーバーロードされたコンストラクターを持つクラスがあります。これらのパラメータはオブジェクトのフィールドに一致し、構築時に割り当てられます。この時点で、他の目的のためにデフォルトのコンストラクターが必要なので、可能であればそれを保持します。 私の問題:デフォルトのコンストラクターを削除してJSON文字列を渡すと、オブジェクトは正しくデシリアライズされ、問題なくコンストラクターのパラメーターを渡します。期待どおりにオブジェクトが設定された状態に戻ります。ただし、デフォルトのコンストラクターをオブジェクトに追加するとすぐにJsonConvert.DeserializeObject<Result>(jsontext)、プロパティを呼び出すと、データが入力されなくなります。 この時点でnew JsonSerializerSettings(){CheckAdditionalContent = true}、逆シリアル化の呼び出しに追加してみました。それは何もしませんでした。 別のメモ。コンストラクターのパラメーターは、パラメーターが小文字で始まることを除いて、フィールドの名前と正確に一致します。先に述べたように、デシリアライゼーションはデフォルトのコンストラクターがなくても問題なく機能するため、これは問題にならないと思います。 これが私のコンストラクタのサンプルです: public Result() { } public Result(int? code, string format, Dictionary<string, string> details = null) { Code = code ?? ERROR_CODE; Format = format; if (details == null) Details = new Dictionary<string, string>(); else Details = details; }
136 c#  json  json.net 

16
JSON.NETでの逆シリアル化のためのキャストインターフェイス
さまざまなWebサイトからJSONオブジェクトを取り込み(情報のスクレイピングを考える)、それらをC#オブジェクトに変換するリーダーをセットアップしようとしています。私は現在、逆シリアル化プロセスにJSON.NETを使用しています。私が直面している問題は、クラス内のインターフェイスレベルのプロパティを処理する方法がわからないことです。だから自然の何か: public IThingy Thing エラーが発生します: IThingyタイプのインスタンスを作成できませんでした。タイプはインターフェースまたは抽象クラスであり、インスタンス化することはできません。 私が取り組んでいるコードは機密性が高く、ユニットテストが非常に重要であるため、ThingyではなくIThingyであることが比較的重要です。Thingyのような本格的なオブジェクトでは、アトミックテストスクリプトのオブジェクトをモックすることはできません。それらはインターフェースでなければなりません。 私はしばらくJSON.NETのドキュメントを調べてきましたが、このサイトでこれに関連して見つけた質問はすべて1年以上前のものです。何か助け? また、問題があれば、私のアプリは.NET 4.0で書かれています。
128 c#  .net  json  json.net 

10
json.netを使用して、プロパティを逆シリアル化し、シリアル化しない
Json.netでC#オブジェクトをシリアル化することによって生成されたいくつかの構成ファイルがあります。 シリアル化されたクラスの1つのプロパティを、単純なenumプロパティからクラスプロパティに移行したいと思います。 これを行う簡単な方法の1つは、クラスに古い列挙型プロパティを残し、Json.netが構成を読み込むときにこのプロパティを読み取るように設定し、次にオブジェクトをシリアル化するときに再度保存しないようにすることです。古い列挙型から新しいクラスを個別に生成することを扱います。 Json.netがシリアル化時にのみそれを無視し、逆シリアル化時にそれに注意を払うように、C#オブジェクトのプロパティを(たとえば属性で)マークする簡単な方法はありますか?
122 c#  json.net 

3
IMvcBuilder AddJsonOptionsは.Net Core 3.0のどこにありますか?
からASP Web APIプロジェクトをアップグレードしました。Net core 2.0に3.0。使っていた services.AddMvc() .AddJsonOptions(options =>options.SerializerSettings.ContractResolver = new DefaultContractResolver()); 以前は、シリアル化されたJSONの小文字を保証します。 3.0へのアップグレード後、次のエラーが発生します。 エラーCS1061 'IMvcBuilder'には 'AddJsonOptions'の定義が含まれておらず、タイプ 'IMvcBuilder'の最初の引数を受け入れるアクセス可能な拡張メソッド 'AddJsonOptions'が見つかりません(usingディレクティブまたはアセンブリ参照がありませんか?) Asp.Net Core 2.2のMvcJsonOptionsのAddJsonOptionsによると、AddJsonOptions拡張メソッドは、Microsoft.AspNetCore.Mvc.Formatters.Json nugetパッケージによって提供されています。これをインストール/再インストールしようとしましたが、それでもメソッドを解決できません。興味深いことに、IntelliSenseはMicrosoft.AspNetCore.Mvc.Formattersのみを表示します。XML私は追加にもかかわらず、usingステートメントを追加しようとすると、JSON nugetパッケージを。 何が起こっているのですか?AddJsonOptionsのドキュメントは.Net 2.2までしか公開されていないため、3.0でこのメソッドが廃止され、他の構成メカニズムが採用された可能性があります。

5
Json.netを使用したJSONオブジェクト配列の逆シリアル化
返されたjsonに次のサンプル構造を使用するAPIを使用しようとしています [ { "customer":{ "first_name":"Test", "last_name":"Account", "email":"test1@example.com", "organization":"", "reference":null, "id":3545134, "created_at":"2013-08-06T15:51:15-04:00", "updated_at":"2013-08-06T15:51:15-04:00", "address":"", "address_2":"", "city":"", "state":"", "zip":"", "country":"", "phone":"" } }, { "customer":{ "first_name":"Test", "last_name":"Account2", "email":"test2@example.com", "organization":"", "reference":null, "id":3570462, "created_at":"2013-08-12T11:54:58-04:00", "updated_at":"2013-08-12T11:54:58-04:00", "address":"", "address_2":"", "city":"", "state":"", "zip":"", "country":"", "phone":"" } } ] JSON.netは次のような構造でうまく機能します { "customer": { ["field1" : "value", etc...], ["field1" …
118 c#  json.net 

6
存在しない可能性があるJTokenから値を取得します(ベストプラクティス)
Json.NETを使用してC#にも存在しない可能性があるJSON値を取得するためのベストプラクティスは何ですか? 現在、私はJSONプロバイダーを扱っています。JSONプロバイダーは、特定のキーと値のペアを含む場合と含まない場合があるJSONを返します。私は(おそらく間違って)このメソッドを使用して値を取得しています(doubleを取得する例): if(null != jToken["width"]) width = double.Parse(jToken["width"].ToString()); else width = 100; 今では問題なく動作しますが、それらがたくさんあると面倒です。結局、拡張メソッドを書いてしまいましたが、それを書いて初めて、私が愚かだったのではないかと思いました...とにかく、ここに拡張メソッドがあります(doubleとstringの場合のみを含めますが、実際にはかなり多くのもっと): public static T GetValue<T>(this JToken jToken, string key, T defaultValue = default(T)) { T returnValue = defaultValue; if (jToken[key] != null) { object data = null; string sData = jToken[key].ToString(); Type type = typeof(T); if (type is …
117 c#  json.net 

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