c# - 使用 ASP.NET Web API 返回 JSON 文件

标签 c# javascript json asp.net-web-api

我正在尝试使用 ASP.NET Web API(用于测试)返回一个 JSON 文件。

public string[] Get()
{
    string[] text = System.IO.File.ReadAllLines(@"c:\data.json");

    return text;
}

在 Fiddler 中,这确实显示为 Json 类型,但是当我在 Chrome 中调试并查看对象时,它显示为单行数组(左)。正确的图像是我使用对象时的样子。

谁能告诉我我应该返回什么来获得正确格式的 Json 结果?

alt

最佳答案

文件中是否已经包含有效的 JSON?如果是这样,而不是调用 File.ReadAllLines 您应该调用 File.ReadAllText 并将其作为单个字符串获取。然后你需要将它解析为 JSON,以便 Web API 可以重新序列化它。

public object Get()
{
    string allText = System.IO.File.ReadAllText(@"c:\data.json");

    object jsonObject = JsonConvert.DeserializeObject(allText);
    return jsonObject;
}

这将:

  1. 以字符串形式读取文件
  2. 将其作为 JSON 对象解析为 CLR 对象
  3. 将其返回给 Web API,以便将其格式化为 JSON(或 XML,或其他)

关于c# - 使用 ASP.NET Web API 返回 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725884/

相关文章:

mysql - 如何使用通配符从mysql查询json数据

javascript - 如何使用reduce JavaScript 添加同一周的计数?

c# - 在 Xamarin.Mac 中将图像复制到剪贴板

c# - 有人知道为什么我在尝试处理 Reaction 时会收到此 NullReferenceException 错误

c# - 引发登录/注册错误的异常是否合适?

javascript - 使用 Google 脚本和正则表达式返回匹配列

javascript - 如何在 angularjs 中使用 ajax 调用构建多步骤向导

javascript - 以python 'JSON Array of arrays'格式遍历 'List of lists'

javascript - 看到这个 JSON2 Push/stringify 有什么问题吗?

c# - 在哪里放置默认值和唯一约束、代码或 SQL 服务器?