将int输出转换为JSON

时间:2017-11-09 01:46:53

标签: c# asp.net json formatting

我创建了一个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);
    }
}

有人请帮助我。非常感谢你。

2 个答案:

答案 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);
}

您可以参考https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/json-and-xml-serialization#removing-the-json-or-xml-formatter了解更多信息。

答案 1 :(得分:1)

  

我的项目经理坚持认为它是JSON格式:/

is valid JSON。您的项目经理需要阅读当前的JSON规范。

如果您希望将结果包装在具有result属性的对象中,则可以自由定义具有单个属性result的类并返回此类。