JSON serialization/deserialization in ASP.Net Core

后端 未结 2 1154
不思量自难忘°
不思量自难忘° 2020-12-01 03:25

Since there is no JavaScriptSerializer, what native implementation can be used to handle this?

I noticed JsonResult and I can format data t

相关标签:
2条回答
  • 2020-12-01 03:49

    You can use Newtonsoft.Json, it's a dependency of Microsoft.AspNet.Mvc.ModelBinding which is a dependency of Microsoft.AspNet.Mvc. So, you don't need to add a dependency in your project.json.

    #using Newtonsoft.Json
    ....
    JsonConvert.DeserializeObject(json);
    

    Note, using a WebAPI controller you don't need to deal with JSON.

    UPDATE ASP.Net Core 3.0

    Json.NET has been removed from the ASP.NET Core 3.0 shared framework.

    You can use the new JSON serializer layers on top of the high-performance Utf8JsonReader and Utf8JsonWriter. It deserializes objects from JSON and serializes objects to JSON. Memory allocations are kept minimal and includes support for reading and writing JSON with Stream asynchronously.

    To get started, use the JsonSerializer class in the System.Text.Json.Serialization namespace. See the documentation for information and samples.

    To use Json.NET in an ASP.NET Core 3.0 project:

    • Add a package reference to Microsoft.AspNetCore.Mvc.NewtonsoftJson
    • Update ConfigureServices to call AddNewtonsoftJson().
        services.AddMvc()
            .AddNewtonsoftJson();
    

    Read Json.NET support in Migrate from ASP.NET Core 2.2 to 3.0 Preview 2 for more information.

    0 讨论(0)
  • 2020-12-01 03:57

    .net core

    using System.Text.Json;

    To serialize

    var jsonStr = JsonSerializer.Serialize(MyObject)
    

    Deserialize

    var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);
    

    For more information about excluding properties and nulls check out This Microsoft side

    0 讨论(0)
提交回复
热议问题