C#返回JSON对象,但原始对象未设置属性

时间:2020-01-03 10:17:56

标签: c# .net json asp.net-core webapi

我正在编写一个返回对象MyObject的WebApi。 MyObject类是在另一个无法修改其源代码的DLL中定义的。 MyObject类未放置setters / getters,因此公共成员不是属性,而只是字段。

因此,在我的WebApi代码中,我想返回此Json MyObject,但是当我知道一个对象确实包含数据时,我在http请求中获得的只是一个空{} json数据。唯一的区别是它没有发布设置器/获取器,这就是为什么它返回{}注意。

我如何才能将MyObject作为带有数据的Json返回,而不必创建自己的MyOwnObject,除了属性之外,所有其他字段都将其设置为get / set属性?

例如,如果我使用

public class MyObject
{
    public string name;
}

此版本返回空{}数据,即使名称包含某些内容,其中

public class MyObject
{
    public string name { get; set; }
}

will属性将返回Json数据,但是我无法修改MyObject,因为它是从另一个没有源的DLL写入的。

非常感谢。

1 个答案:

答案 0 :(得分:0)

不要直接通过您的webapi公开该外部对象。

  • 使所有模型更接近API代码,您可以在任何需要的地方进行更改。 (就您而言,您需要在api项目中创建具有相同属性以及获取和设置的新类)
  • 使用automapper将外部对象映射到您的api模型中(对您来说会更容易)