WebAPI - 无效的JSON字符串

时间:2013-09-13 16:48:13

标签: asp.net json asp.net-web-api json.net

我正在开发WebAPI项目。

我有以下方法:

public string Get(string a, string b)
{
    return "test";
}

当我发送带有Accept: application/json标头的GET请求时,WebAPI会返回以下响应:

"test"

此回复无效,应为:

[
    "test"
]

如何强制WebAPI在JSON响应中包含方括号?

1 个答案:

答案 0 :(得分:1)

如果希望返回的JSON包含数组(方括号),则需要返回一个数组(或列表)。

你可以这样做:

public string[] Get(string a, string b)
{
    return new string[] {"test"};
}

或类似的东西:

public List<string> Get(string a, string b)
{
    List<string> list = new List<string>();
    list.Add("test");
    return list;
}

修改

要返回一个对象而不是一个数组,你可以使用这样的方法:

public object Get(string a, string b)
{
    return new { prop = "test" };
}

请注意,您也可以使用强类型类代替object,并将其返回。