我创建了一个ASP.NET Web API,它使用dll文件中的添加函数查找两个整数的总和。当我运行应用程序(http://localhost:52241/api/dlladdition/9/6
)时,我得到"15"
的结果。我想要的结果是{ "result" : 15}
(JSON格式)。我如何实现这一目标?我在代码中包含的JSON代码似乎不起作用。
以下是我的代码:
Addition.cs
using ClassLibraryDll;
public class Addition
{
static int num1;
static int num2;
int sum = MathClass.Add(num1, num2);
}
DllAdditionController.cs
public class Temp
{
public int num1 { get; set; }
public int num2 { get; set; }
public int sum { get; set; }
}
public class DllAdditionController : ApiController
{
private Addition addition = new Addition();
public int GET(int num1, int num2)
{
int result = ClassLibraryDll.MathClass.Add(num1, num2);
string json = JsonConvert.SerializeObject(result);
return (json);
}
}
有人请帮助我。非常感谢你。
答案 0 :(得分:1)
您可以使用JSON媒体类型格式化程序
设置JSON的响应var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.UseDataContractJsonSerializer = true;
如果您希望将Web API响应限制为仅限JSON或XML,则可以从Global.asax中定义的Application_Start方法调用此方法。
void ConfigureApi(HttpConfiguration config)
{
// Remove the JSON formatter
config.Formatters.Remove(config.Formatters.JsonFormatter);
// or
// Remove the XML formatter
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
答案 1 :(得分:1)
我的项目经理坚持认为它是JSON格式:/
is valid JSON。您的项目经理需要阅读当前的JSON规范。
如果您希望将结果包装在具有result
属性的对象中,则可以自由定义具有单个属性result
的类并返回此类。