gpt4 book ai didi

C# 自定义 Json.NET 列表序列化

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:55 26 4
gpt4 key购买 nike

我有一个 DataObject 类列表:

public class DataObject
{
public string Name { get; set; }

public List<Field> Fields { get; set; }
}
}



public class Field
{

public string Name { get; set;}
public string Type { get; set; }
public Object Value { get; set; }

public Field(string name, string type, string value)
{
Name = name;
Type = type;
if(type == "string") Value = (string)value;
else Value = Int32.Parse(value);
}
}

我想将由 DataObject 类组成的列表序列化为 .json 文件。我在下面展示的使用 Json.NET 的方式中,我尝试了几种方案但没有找到如何执行此操作。

例子:

Field field1 = new Field("Brand", "string", "Volvo);
Field field2 = new Field("Power", "int", 200);
List<Field> fields = new List<Field>{field1, field2};
DataObject car = new DataObject{
Name = "Car",
Fields = list
}
List<DataObjects> objects = new List<DataObjects>{car};

结果:

{
"Car":{
"Brand" : "Volvo",
"Power" : 200
}
}

最佳答案

使用 Newtonsoft.Json,序列化相当容易。我拿了你的代码并添加了以下行:

string json = JsonConvert.SerializeObject(objects, Newtonsoft.Json.Formatting.Indented);

它给了我以下输出:

[
{
"Name": "Car",
"Fields": [
{
"Name": "Brand",
"Type": "string",
"Value": "Volvo"
},
{
"Name": "Power",
"Type": "int",
"Value": 200
}
]
}
]

关于C# 自定义 Json.NET 列表序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56043622/

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