【问题标题】:How to return a string that is JSON formatted through Web Api Controller without having escape characters show up in the response如何返回通过 Web Api 控制器格式化的 JSON 字符串,而不在响应中显示转义字符
【发布时间】:2014-02-27 18:52:47
【问题描述】:

我有以下 JSON 格式的 c# 字符串。

string myString = "{color: \"red\", value: \"2\"}";

当我将此字符串作为控制器的响应发送时,它会以完整的转义字符返回给客户端。

这是我用来返回字符串的控制器的代码:

public class MyController : BaseController
{

    [HttpPost]
    public virtual HttpResponseMessage Post()
    {
         string myString = "{color: \"red\", value: \"2\"}";
         HttpResponseMessage response = this.Request.CreateResponse(HttpStatusCode.OK, myString, "application/json");
         return response;
    }
}

我的问题是:如何在客户端不显示转义字符的情况下将字符串“myString”返回给客户端?

谢谢!

【问题讨论】:

  • 它们不应该出现在客户端,因为这些转义字符没有被编码到字符串中。它们应该由编译器简单地评估。
  • 在这里找到了您问题的答案:stackoverflow.com/questions/17097841/…

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


【解决方案1】:

假设您使用 Web-API,它默认以 Json 格式返回数据,该格式被转义,您可以让 Web-API 返回 XML,但无论哪种方式,它都会以一种或另一种方式格式化,看起来您需要对 Json 进行反序列化,然后它将删除转义的字符。

【讨论】:

  • 我知道有一种方法可以将内容传递给客户端并且看不到转义字符。我已经看过了。我的观点是客户端不需要对json进行反序列化。
  • 您好,您的客户端 aspx html/js 是什么,将尝试删除您的代码吗?
猜你喜欢
  • 2020-11-10
  • 1970-01-01
  • 2019-02-18
  • 2016-11-24
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 2018-05-30
  • 2011-07-30
相关资源
最近更新 更多