【发布时间】:2018-01-06 06:51:18
【问题描述】:
我必须使用将字符串作为调用外部网站的响应的旧产品。它不是 JSON 或 XML 类型。即使数据是 xml 字符串。
问题是我的 WebAPI 在返回值中发送回 c# 的转义字符。例如 \"1.0\" 这是返回的原始字符串。 有没有办法摆脱返回响应中的转义字符?这看起来很简单。也许是 api 调用的一个属性。
public class DumpController : ApiController
{
public string Get()
{
var myobject = new OrderPackage();
myobject.Shipper = "something here";
myobject.ShippingMethod = "So jones said \" this is not right \"";
myobject.TrackingId = "19199n99fuajf";
myobject.Id = 1;
var result = Utility.GenericFunctions.ToXml(myobject, myobject.GetType());
return result;
}
}
[Serializable()]
public class OrderPackage
{
public int Id { get; set; }
public int OrderId { get; set; }
public string TrackingId { get; set; }
public Nullable<System.DateTime> PickupDate { get; set; }
public string Shipper { get; set; }
public string ShippingMethod { get; set; }
public string PackageCreatorId { get; set; }
public string CartPackageId { get; set; }
}
原始返回字符串:
"<?xml version=\"1.0\" encoding=\"utf-8\"?><q1:OrderPackage......
我不需要它来打印 \ 字符。
【问题讨论】:
-
我认为这个字符串是有效的!开头有双引号吗?你如何打印/阅读它?
-
接收系统的工作方式是将输出作为字符串。所以它确实在上面看到了 \" 我需要它以不转义的方式发送它。我将它作为标准 MVC 控制器而不是返回 actionresult 的 API 进行了简短的测试。这将起作用。我希望它可以作为 WebAPI 而不是.
-
AFAIK,应该没问题。举个例子:看看这个link的结果
标签: c# asp.net-web-api