【发布时间】:2021-04-16 15:07:34
【问题描述】:
例如我有课:
public class ParentClass
{
public int Value1 {get; set;} = 1;
public int Value2 {get; set;} = 2;
public InnerClass InnClass {get; set;} = new InnerClass();
}
public class InnerClass
{
public int Value3 {get; set;} = 3;
public int Value4 {get; set;} = 4;
}
当我序列化 ParentClass 的实例时
public ParentClass parClass = new ParentClass();
string result = JsonConvert.SerializeObject(parClass);
它返回 Json:
“{“Value1”: 1, “Value2”: 2, “InnClass”: {“Value3”: 3, “Value4”: 4}}”
如何让它像这样序列化:
“{“Value1”: 1, “Value2”: 2, “Value3”: 3, “Value4”: 4}”
我知道最简单的方法就是将属性从内部类移动到父类,然后对其进行序列化。但它会破坏程序的结构。那么有没有办法使用自定义 JsonConverter 或其他方式来做到这一点?
【问题讨论】:
-
你在哪里序列化这个,你的帖子没有包括所有内容?它现在序列化的方式确实是正确的,你为什么不想这样做?当你去反序列化你的对象时,一切都会被正确反序列化。
-
它包括一切。我只是使用 JsonConvert.SerializeObject() 方法
-
为什么要改这个,不知道属性在哪里怎么反序列化?
-
没有反序列化的任务。
-
JsonConverter这是什么,应该是JsonConvert?
标签: c# json serialization json.net