有没有办法配置 Azure Functions 如何将对象序列化为 JSON 以获取返回值?我想对枚举值使用字符串而不是整数。
例如,鉴于此代码:-
public enum Sauce
{
None,
Hot
}
public class Dish
{
[JsonConverter(typeof(StringEnumConverter))]
public Sauce Sauce;
}
public static class MyFunction
{
[FunctionName("MakeDinner")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
var dish = new Dish() { Sauce = Sauce.Hot };
return req.CreateResponse(HttpStatusCode.OK, dish, "application/json");
}
}
Run Code Online (Sandbox Code Playgroud)
该函数返回:-
{
"Sauce": 1
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它返回下面?
{
"Sauce": "Hot"
}
Run Code Online (Sandbox Code Playgroud)
我试过返回一个字符串而不是一个对象,但结果包含\"转义符;我想要一个 JSON 结果,而不是一个 JSON 对象的转义字符串表示。
我知道在标准中ASP.NET我可以使用配置来设置序列化选项。这在函数中甚至是可能的,还是应该将所有枚举转换为字符串常量?