JsonConvert.SerializeObject在反引号中添加反斜杠

时间:2018-09-27 10:15:51

标签: c# json.net amazon-sns jsonconvert

我正在从C#Windows服务向Amazon Web Services SNS发送一条消息,以便可以从iOS应用程序接收该消息。

.expiredUrl()

当我使用JsonConvert.SerializeObject时,将产生如下消息字符串:

PublishRequest pubRequest = new PublishRequest();
pubRequest.TargetArn = arn;

pubRequest.Message = JsonConvert.SerializeObject(myMessage, Formatting.Indented);
pubRequest.MessageStructure = "json";

但是我需要像这样转义APNS部分中的引号:

{"default":"My Message.  ","APNS":{"aps":{"alert":{"title":"My Title","body":"MyBody data"},"data":{"someDataTolookAt":"blahblah"}}}}

我该怎么做?

1 个答案:

答案 0 :(得分:2)

实际上,API希望APNS序列化为字符串,而不是json,并且您需要将其值转换为json字符串。 为此特定属性创建自定义JSON转换器。

[JsonConverter(typeof(MyJsonConverter))]
someclass APNS {get;set;}

此转换器还将执行JsonConvert.SerializeObject(APNSobject) =>,因此您的json将转义apns对象的字符串。