JsonConvertをC#アプリケーションにインポートする方法


94

C#ライブラリプロジェクトを作成しました。プロジェクトの1つのクラスに次の行があります。

JsonConvert.SerializeObject(objectList);

私は言ってエラーが出ます

JsonConvertという名前は現在のコンテキストに存在しません。

これを修正するために、System.ServiceModel.Web.dll参照を追加しましたが、うまくいきませんでした。このエラーを解決するにはどうすればよいですか?

回答:


170

JsonConvert名前空間からのものでありNewtonsoft.JsonSystem.ServiceModel.Web

NuGetダウンロードに使用package

「プロジェクト」->「NuGetパッケージの管理」->「「newtonsoft json」を検索->「インストール」をクリック


.NET Core WebApiまたはWebSiteを構築している場合は、以下の私の答えを参照してください
Mauricio Gracia Gutierrez

1
また、「Newtonsoft.Json;を使用する」ことを確認してください。あります
Dhanuka777

43

プロジェクトを右クリックし、Manage NuGet Packages.. 選択Json.NETしてインストールします

インストール後、

次の名前空間を使用します

using Newtonsoft.Json;

次に、次を使用して逆シリアル化します

JsonConvert.DeserializeObject

.netコアの場合、newtonsoftをインストールする必要はありません-以下の私の回答を参照してください
Mauricio Gracia Gutierrez

16

NuGetを使用してインストールします。

Install-Package Newtonsoft.Json


これを回答として投稿します。


.netコアの場合、newtonsoftをインストールする必要はありません-下記の私の回答を参照してください
Mauricio Gracia Gutierrez

7

または、dotnet Coreを使用している場合は、

.csprojファイルに追加

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
  </ItemGroup>

そして

dotnet restore

.netコアの場合、newtonsoftをインストールする必要はありません-下記の私の回答を参照してください
Mauricio Gracia Gutierrez


3

ツール-> NuGetパッケージマネージャー->パッケージマネージャーコンソール

PM> Install-Package Newtonsoft.Json

.netコアの場合、newtonsoftをインストールする必要はありません-下記の私の回答を参照してください
Mauricio Gracia Gutierrez

2

.Net Core WebApiまたはWebSiteを開発している場合は、newtownsoft.jsonをインストールしてjsonシリアル化/非シリアル化を実行する必要はありません。

コントローラーメソッドがを返し、この例のようにJsonResult呼び出すことを確認してくださいreturn Json(<objectoToSerialize>);

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            return Json(lstAccounts);
        }
    }
}

.Net Framework WebApiまたはWebSiteを開発している場合は、NuGetを使用してnewtonsoft jsonパッケージをダウンロードおよびインストールする必要があります。

「プロジェクト」->「NuGetパッケージの管理」->「「newtonsoft json」を検索->「インストール」をクリック

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            //This line is different !! 
            return new JsonConvert.SerializeObject(lstAccounts);
        }
    }
}

詳細については、こちらをご覧ください-https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view = aspnetcore - 2.1


0

パッケージをインストールした後、flowingコマンドを実行して、newtonsoft.json.dllをアセンブルパスに追加する必要があります。

アセンブリを使用する前に、それをグローバルアセンブリキャッシュ(GAC)に追加する必要があります。Visual Studio 2008コマンドプロンプトを再度開きます(Vista / Windows7などの場合は、管理者として開きます)。そして、次のコマンドを実行します。gacutil /id:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

詳細については、このリンクをフロー http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html


0

これをC#で試してください。できます:

var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));

以下の名前空間をインポート:

JsonConvertの場合: using Newtonsoft.Json;

ファイルの場合: using System.IO;

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