我正在尝试使用 ASP.NET Web API(用于测试)返回一个 JSON 文件。
public string[] Get()
{
string[] text = System.IO.File.ReadAllLines(@"c:\data.json");
return text;
}
在 Fiddler 中,这确实显示为 Json 类型,但是当我在 Chrome 中调试并查看对象时,它显示为单行数组(左)。正确的图像是我使用对象时的样子。
谁能告诉我我应该返回什么来获得正确格式的 Json 结果?
最佳答案
文件中是否已经包含有效的 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;
}
这将:
- 以字符串形式读取文件
- 将其作为 JSON 对象解析为 CLR 对象
- 将其返回给 Web API,以便将其格式化为 JSON(或 XML,或其他)
关于c# - 使用 ASP.NET Web API 返回 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725884/