我正在从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"}}}}
我该怎么做?
答案 0 :(得分:2)
实际上,API希望APNS序列化为字符串,而不是json,并且您需要将其值转换为json字符串。 为此特定属性创建自定义JSON转换器。
[JsonConverter(typeof(MyJsonConverter))]
someclass APNS {get;set;}
此转换器还将执行JsonConvert.SerializeObject(APNSobject)
=>,因此您的json将转义apns对象的字符串。