Niv*_*nan 7 jsonserializer json-serialization asp.net-core-2.1
我正在.net核心项目中工作。我想使用JavaScriptSerializer序列化对象。
JavaScriptSerializer Serializer = new JavaScriptSerializer();
Run Code Online (Sandbox Code Playgroud)
我添加了命名空间using System.Web.Script.Serialization;。它引发错误。我用谷歌搜索。我看到.net核心项目System.Web.Script.Serialization;在某些站点中没有。
有没有其他方法可以序列化.net核心中的对象(如JavaScriptSerializer)?
Mic*_*ber 11
在.net核心中,最常见的使用Newtonsoft.Json序列化和反序列化对象(JSON)的方式。
您需要安装Nuget软件包 Newtonsoft.Json
使用如下语句添加:
using Newtonsoft.Json;
Run Code Online (Sandbox Code Playgroud)
并将其用作:
object o = JsonConvert.DeserializeObject(json1);
string json2 = JsonConvert.SerializeObject(o, Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)
对于ASP.NET Core 3.1,我们可以使用JsonSerializer.DeserializefromSystem.Text.Json和string/dynamic字典Dictionary<string, dynamic>。
示例加载ClientApp\package.json:
using System;
using System.Text.Json;
using System.Collections.Generic;
...
var packageJson = File.ReadAllText(Path.Combine(env.ContentRootPath, "ClientApp", "package.json"));
var packageInfo = JsonSerializer.Deserialize<Dictionary<string, dynamic>>(packageJson);
Console.WriteLine("SPA Name: {0}, SPA Version: {1}",
packageInfo["name"], packageInfo["version"]);
Run Code Online (Sandbox Code Playgroud)
当然,我们必须ClientApp\package.json使用里面的Target>Copy命令复制到发布目录.csproj。
| 归档时间: |
|
| 查看次数: |
5709 次 |
| 最近记录: |