Saya membuat proyek perpustakaan C #. Proyek memiliki baris ini dalam satu kelas:
JsonConvert.SerializeObject(objectList);
Saya mendapatkan pesan kesalahan
nama JsonConvert tidak ada dalam konteks saat ini.
Untuk memperbaikinya, saya menambahkan System.ServiceModel.Web.dll
referensi tetapi tidak berhasil. Bagaimana saya bisa mengatasi kesalahan ini?
klik kanan pada proyek dan pilih
Manage NuGet Packages..
Dalam itu pilihJson.NET
dan pasangSetelah instalasi,
gunakan namespace berikut
using Newtonsoft.Json;
kemudian gunakan perintah berikut untuk deserialisasi
sumber
Instal menggunakan NuGet:
Posting ini sebagai jawaban.
sumber
Atau jika Anda menggunakan dotnet Core,
tambahkan ke file .csproj Anda
<ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="9.0.1" /> </ItemGroup>
Dan
sumber
Linux
Jika Anda menggunakan Linux dan .NET Core, lihat pertanyaan ini , Anda akan ingin menggunakan
dotnet add package Newtonsoft.Json
Dan kemudian tambahkan
using Newtonsoft.Json;
untuk setiap kelas yang membutuhkan itu.
sumber
Alat -> NuGet Package Manager -> Package Manager Console
sumber
Jika Anda mengembangkan .Net Core WebApi atau WebSite, Anda tidak perlu menginstal newtownsoft.json untuk melakukan serialisasi / deserealisasi json
Pastikan bahwa metode pengontrol Anda mengembalikan
JsonResult
dan memanggilreturn Json(<objectoToSerialize>);
seperti contoh ininamespace 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); } } }
Jika Anda mengembangkan .Net Framework WebApi atau WebSite, Anda perlu menggunakan NuGet untuk mengunduh dan menginstal
newtonsoft json
paket"Proyek" -> "Kelola paket NuGet" -> "Cari" newtonsoft json ". -> klik" install ".
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); } } }
Detail selengkapnya dapat ditemukan di sini - https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1
sumber
Setelah menginstal paket, Anda perlu menambahkan newtonsoft.json.dll ke jalur assemble dengan menjalankan perintah mengalir.
Sebelum kita dapat menggunakan assembly kita, kita harus menambahkannya ke cache assembly global (GAC). Buka kembali Visual Studio 2008 Command Prompt (untuk Vista / Windows7 / dll. Buka sebagai Administrator). Dan jalankan perintah berikut. gacutil /id:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll
alirkan tautan ini untuk informasi lebih lanjut http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html
sumber
Coba ini di C #. Berhasil:
var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));
Impor ruang nama di bawah ini:
Untuk JsonConvert:
using Newtonsoft.Json;
Untuk File:
using System.IO;
sumber