从Azure函数返回带有JsonPropertyName注解的对象

wwwo4jvm  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(107)

我们具有以下结构。

public class Foo {

    [JsonPropertyName("x")]
    public string Prop1 { get; set; }

    [JsonPropertyName("y")]
    public string Prop2 { get; set; }

    [JsonPropertyName("z")]
    public string Prop3 { get; set; }
}
[FunctionName("Func")]
public static Foo Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
    ILogger log
)
{
    Foo foo = new();
    foo.Prop1 = "Value 1";
    foo.Prop2 = "Value 2";
    foo.Prop3 = "Value 3";

    return foo;
}

函数的返回值为

{
    "Prop1" : "Value 1",
    "Prop2" : "Value 2",
    "Prop3" : "Value 3",
}

代替

{
    "x" : "Value 1",
    "y" : "Value 2",
    "z" : "Value 3",
}

我可以自己序列化它并返回字符串。这很有效。但是我如何通过直接返回对象来获得正确解析的'JsonPropertyName'注解呢?
(With Newtonsoft注解,返回也有效。所以看起来Newtonsoft会在那里做一些事情。我们在那个项目中没有使用Newtonsoft。)

8ehkhllq

8ehkhllq1#

您可以将此代码用于以下示例

public static ActionResult Run(....
{
    return new {
    x = "Value 1",
    y = "Value 2",
    z = "Value 3"
    };
}

}

相关问题