.jpg)
我有这样的课程:
class MyDate
{
int year, month, day;
}
class Lad
{
string firstName;
string lastName;
MyDate dateOfBirth;
}
我想将一个对象转换为这样的 JSON 字符串:Lad
{
"firstName":"Markoff",
"lastName":"Chaney",
"dateOfBirth":
{
"year":"1901",
"month":"4",
"day":"30"
}
}
(无格式)。我找到了这个链接,但它使用的命名空间不在 .NET 4 中。我也听说过 JSON.NET,但他们的网站目前似乎已关闭,而且我不热衷于使用外部DLL文件。
除了手动创建 JSON 字符串编写器之外,还有其他选项吗?

网友回答:
Microsoft 建议您不要使用 JavaScriptSerializer
请参阅文档页面的标题:
对于 .NET Framework 4.7.2 及更高版本,请使用 System.Text.Json 命名空间中的 API 进行序列化和反序列化。对于早期版本的 .NET Framework,请使用 Newtonsoft.Json。
您可以使用该类(添加对 的引用):JavaScriptSerializerSystem.Web.Extensions
using System.Web.Script.Serialization;
var json = new JavaScriptSerializer().Serialize(obj);
一个完整的例子:
using System;
using System.Web.Script.Serialization;
public class MyDate
{
public int year;
public int month;
public int day;
}
public class Lad
{
public string firstName;
public string lastName;
public MyDate dateOfBirth;
}
class Program
{
static void Main()
{
var obj = new Lad
{
firstName = "Markoff",
lastName = "Chaney",
dateOfBirth = new MyDate
{
year = 1901,
month = 4,
day = 30
}
};
var json = new JavaScriptSerializer().Serialize(obj);
Console.WriteLine(json);
}
}

网友回答:
因为我们都喜欢单行本
…这个依赖于Newtonsoft NuGet包,它很受欢迎,比默认序列化程序更好。
Newtonsoft.Json.JsonConvert.SerializeObject(new {foo = "bar"})
文档:序列化和反序列化 JSON

网友回答:
使用 Json.Net 库,可以从Nuget数据包管理器下载它。
序列化为 json 字符串:
var obj = new Lad
{
firstName = "Markoff",
lastName = "Chaney",
dateOfBirth = new MyDate
{
year = 1901,
month = 4,
day = 30
}
};
var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
反序列化为对象:
var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Lad>(jsonString );
模板简介:该模板名称为【我想将一个对象转换为这样的 JSON 字符串?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。