当前位置: 首页 > 知识库问答 >
问题:

返回带有ASP.NET Web API的JSON文件

哈泰
2023-03-14

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

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

    return text;
}

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

有人能告诉我应该返回什么来实现正确格式的Json结果吗?

共有3个答案

拓拔霄
2023-03-14

我需要类似的内容,但IHttpActionResult(WebApi2)是必需的。

public virtual IHttpActionResult Get()
{
    var result = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK)
    {
        Content = new System.Net.Http.ByteArrayContent(System.IO.File.ReadAllBytes(@"c:\temp\some.json"))
    };

    result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
    return ResponseMessage(result);
}
弘承运
2023-03-14

我找到了另一个解决方案,如果有人感兴趣的话,也是有效的。

public HttpResponseMessage Get()
{
    var stream = new FileStream(@"c:\data.json", FileMode.Open);

    var result = Request.CreateResponse(HttpStatusCode.OK);
    result.Content = new StreamContent(stream);
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

    return result;
}
包唯
2023-03-14

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

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

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

这将:

    <将其作为JSON对象解析为CLR对象/LI> 文件作为字符串读取>
 类似资料:
  • 让我预先感谢你的帮助! 我在一个spring boot应用程序中有一个奇怪的行为。我来给你解释一下: 我正在用一些不错的rest-json服务包装一些遗留的Web服务(自定义xml消息)(通过spring-mvc和Spring boots并使用jackson序列化东西) 为了与遗留系统通信,我创建了一个自定义XmlMapper、序列化器和反序列化器。 最后,我创建了一个httpclientconf

  • 问题内容: 我试图按照此链接中的建议将错误返回到对控制器的调用,以便客户端可以采取适当的措施。javascript通过jqueryAJAX调用控制器。仅在不将状态设置为error的情况下,我才可以重新获得Json对象。这是示例代码 如果没有设置状态码,我会得到Json。如果设置状态代码,则会返回状态代码,但不会返回Json错误对象。 更新 我想将Error对象作为JSON发送,以便可以处理ajax

  • 我正在寻找在我的. NET Core Web API控制器中返回带有HTTP状态代码的JSON的正确方法。我过去是这样使用它的: 这是一个4.6 MVC应用程序,但现在有了。NET Core我似乎没有这个IHttpActionResult,我有ActionResult,使用如下: 但是服务器的响应很奇怪,如下图所示: 我只希望Web API控制器返回JSON和HTTP状态代码,就像我在Web AP

  • app.py 和我的HTLM代码 现在的问题是打印是带有HTML标记的。我该怎么解决呢?

  • 我正在Tomcat 7.0上使用SAP Commerce(Hybris)中的ORBEON 2018.2.3.201905172253 PE。当Hybris点击Orbeon应用程序创建一个新表单并获得中文的内联HTML时,我得到的是问号而不是中文字符。 URL:http://localhost:9001/orbeon/fr/yforms/myform/new?orbeon-embeddable=tr

  • 我是Java和Springboot的新手。尝试使用一个参数terminalId(字符串)实现一个简单的get请求。 我完全迷路了。