我正在使用JSON.NET尝试将Bar类型转换为JSON。
public class Foo {
String A;
String B;
Int32 C;
DateTime D;
}
public class Bar {
String E;
String F;
String G;
Foo H;
}
我正在使用它来将Bar转换为JSON。
public String ConvertBar(Bar _bar) {
String Result = JsonConvert.SerializeObject<Bar>(_bar);
return Result;
}
应该输出如下内容:
{
"E": "Another Value",
"F": "Flamingos",
"G": "Another Another Value",
"H": [
{
"A": "Some Value",
"B": "Some Other Value",
"C": 42,
"D": "2000-01-013T00:00:00Z"
}
]
}
无论我做什么,ConvertBar()
的输出始终为空。那么,如何在保留Foo
的值的情况下将Bar转换为JSON?我听说您必须创建一个转换器,但是我没有这些经验。
答案 0 :(得分:1)
您可以将字段转换为属性,也可以将字段转换为[JsonProperty]装饰
public class Foo
{
[JsonProperty]
String A;
[JsonProperty]
String B;
[JsonProperty]
Int32 C;
[JsonProperty]
DateTime D;
}
public class Bar
{
public Bar()
{
H = new Foo();
}
[JsonProperty]
String G;
[JsonProperty]
Foo H;
public String E { get; set; }
public String F { get; set; }
}
使用ConvertBar函数后,我得到以下输出。
{"G":null,"H":{"A":null,"B":null,"C":0,"D":"0001-01-01T00:00:00"},"E":null,"F":null}