gpt4 book ai didi

c# - 将列表序列化为 JSON

转载 作者:bug小助手 更新时间:2023-10-28 01:27:04 24 4
gpt4 key购买 nike

我有一个如下所示的对象模型:

public MyObjectInJson
{
public long ObjectID {get;set;}
public string ObjectInJson {get;set;}
}

ObjectInJson 属性是一个已经序列化的版本,一个包含嵌套列表的对象。目前,我正在手动序列化 MyObjectInJson 列表,如下所示:

StringBuilder TheListBuilder = new StringBuilder();

TheListBuilder.Append("[");
int TheCounter = 0;

foreach (MyObjectInJson TheObject in TheList)
{
TheCounter++;
TheListBuilder.Append(TheObject.ObjectInJson);

if (TheCounter != TheList.Count())
{
TheListBuilder.Append(",");
}
}
TheListBuilder.Append("]");

return TheListBuilder.ToString();

我想知道我是否可以用 JavascriptSerializer 替换这种危险的代码并获得相同的结果。我该怎么做?

最佳答案

如果使用 .Net Core 3.0 或更高版本;

默认使用内置的 System.Text.Json 解析器实现。

例如

using System.Text.Json;

var json = JsonSerializer.Serialize(aList);

另外,还可以使用其他不太主流的选项,例如 Utf8Json解析器和 Jil : 这些可能提供superior performance ,如果你真的需要它,你将需要安装它们各自的包。

如果使用 .Net Core 2.2 或更早版本卡住;

默认使用 Newtonsoft JSON.Net 作为您的首选 JSON 解析器。

例如

using Newtonsoft.Json;

var json = JsonConvert.SerializeObject(aList);

您可能需要先安装软件包。

PM> Install-Package Newtonsoft.Json

更多详情see and upvote the answer that is the source of this information .

仅供引用,这是多年前的原始答案;

// you need to reference System.Web.Extensions

using System.Web.Script.Serialization;

var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);

关于c# - 将列表序列化为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com