c# json html转义字符,JSON序列化输出具有C#转义格式

我正在尝试从客户端将更新的对象POST到REST服务器API.我正在使用RestSharp,我正在将我的对象的

JSON表示添加到我的请求正文中.但是,我的序列化对象的字符串表示格式错误.服务器拒绝它.

我的请求看起来像这样(我用Fiddler来获取它)

PUT https://myapp.net/api/PriceListItems/151276 HTTP/1.1

Accept: application/json,application/xml,text/json,text/x-json,text/javascript,text/xml

User-Agent: RestSharp/104.4.0.0

Content-Type: application/json

Host: myapp.net

Content-Length: 75

Accept-Encoding: gzip,deflate

"{\"Id\":151276,\"AgendaId\":0,\"CurrencyId\":1,\"Code\":\"\",\"Price\":7.0}"

我曾尝试使用Json.NET,RestSharp的内部Json序列化程序以及System.Web.Script.Serialization中的JavaScriptSerializer来序列化我的对象.全部以这种格式返回一个字符串.我知道这种格式化的原因是因为C#转义双引号所以它可以在里面正确显示它,但我不明白我应该如何将它传递给我的请求没有这种转义格式.我知道服务器接受正确形成的JSON这一事实.

我尝试序列化的对象看起来像这样

public class PriceListItem

{

public static PriceListItem CreatePriceListItem(int id,int agendaId,int currencyId,string code,string unit,decimal price)

{

var priceListItem = new PriceListItem

{

Id = id,AgendaId = agendaId,CurrencyId = currencyId,Code = code,Price = price

};

return priceListItem;

}

public int Id { get; set; }

public int AgendaId { get; set; }

public int CurrencyId { get; set; }

public string Code { get; set; }

public decimal Price { get; set; }

编辑:

将我的解决方案从此处移至答案.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值