[英]C# Custom Json.NET List serialization
我有一個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類組成的List序列化為.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
}
]
}
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.