当前位置: 首页 > 知识库问答 >
问题:

Newtonsoft Json如何在不创建内部类对象的情况下将属性从内部类写到父类

段兴为
2023-03-14

例如,我有类:

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的实例时,它返回json:

“{“Value1”: 1, “Value2”: 2, “InnClass”: {“Value3”: 3, “Value4”: 4}}”

如何让它这样连载:

“{“Value1”: 1, “Value2”: 2, “Value3”: 3, “Value4”: 4}”

我知道最简单的方法就是将属性从内部类移动到父类,然后序列化它。但它会破坏程序的结构。那么有没有什么方法可以使用自定义的JsonConverter或其他方法来实现这一点呢?

共有1个答案

宿文栋
2023-03-14

创建一个动态对象,在其中放入值,并将其序列化为JSON。

 类似资料:
  • 问题内容: 如何使用反射创建内部类对象?内部和外部类均具有不带参数的默认构造函数 问题答案: “如果构造函数的声明类是非静态上下文中的内部类,则构造函数的第一个参数必须是封闭的实例;请参见 Java™语言规范的 15.9.3节。” 这意味着您永远不能使用; 构造内部类。相反,您必须使用带有单个实例的构造函数。这是一些示例代码,演示其用法: (请注意,在标准Java术语中, 内部类 始终是非静态的。

  • 问题内容: 我有以下代码。我想掌握用来创建内部类对象的外部类对象。我该怎么做? 编辑:好,你们中的一些人建议通过添加方法来修改内部类: 但是,如果我没有控制权来修改内部类,那(只是确认一下),我们还有其他方法可以从内部类对象中获取相应的外部类对象吗? 问题答案: 在内部类本身中,你可以使用。该表达式允许引用任何词法包围的实例,在JLS中被描述为。 我认为没有办法从内部类的代码之外获取实例。当然,你

  • 我目前正在进行一个与Firebase集成的Android项目,但是由于Firebase监听器的原因,我正在努力从Firebase实时数据库中检索类对象。 让我详细介绍一下我的项目,以便你能了解它的主要内容。我使用MVVM架构,我有两个活动,其中一个用于身份验证,另一个用于主要用途。 第一个活动包含注册、登录、密码重置片段第二个活动包含4个用于程序主要功能的片段 第一个活动中的片段使用共享的view

  • 问题内容: 我想创建一个内部类的Spring Bean。如果我有以下内部类: 我想在我的XML配置文件中创建bean实例。 问题答案: 您不能使用点()表示法访问公共静态内部类,而应使用货币()。一个例子: 这将起作用。

  • 问题内容: 考虑以下嵌套类。 问题答案: 您可以像这样声明一个对象数组。 并实例化它们,您可以在类中执行类似的操作。

  • 问题内容: 一个的类上堆和参考变量指向它创建。 如果我写的时候没看错 类的对象在堆上创建并指向它。在堆中,我们有两个单独的对象,其中包含它们自己的实例变量。 但是如果我写 还有两个将在堆上创建,一个用于,另一个用于。但仅提供参考 即可。谁指的是堆外层?如果没有任何引用引用它,那么它应该有资格进行垃圾回收,这将影响的使用。 问题答案: 内部类包含对其外部类实例的隐藏引用。如果没有其他引用,则该隐藏引