2016-09-13 4 views
0

AWS SNSに正しい書式設定されたJSONオブジェクトが必要ですが、フォーマットが間違っています。json aws sns callの前後に引用符を含めてください

dynamic foo = new ExpandoObject(); 
foo.GCM = new ExpandoObject {}; 
foo.GCM.data = new ExpandoObject(); 
foo.GCM.data.message = "bogus"; 
string json = Newtonsoft.Json.JsonConvert.SerializeObject(foo,Newtonsoft.Json.Formatting.None); 

結果: { "GCM":{ "データ":{ "メッセージ": "偽"}}}

必要なフォーマット:{ "GCM": "{\" データ\ ":{\" メッセージ\ ":\" 偽の\ "}}"}

答えて

1
dynamic foo = new ExpandoObject(); 
foo.data = new ExpandoObject(); 
foo.data.message = "bogus"; 
string json1 = JsonConvert.SerializeObject(foo, Newtonsoft.Json.Formatting.None); 
var json = JsonConvert.SerializeObject(new { GCM=json1 } , Newtonsoft.Json.Formatting.None); 

OUTPUT:{"GCM":"{\"data\":{\"message\":\"bogus\"}}"}

しかし、私は理解していない理由は、この必要な形式は二重シリアル化が必要です。それ本当?

+0

"ありがとう"彼らはSNSに複数のペイロードフォーマットを持っています。 http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html – bartp

+0

AWS SNSでは、json辞書オブジェクトの文字列化されたバージョンが必要です。 –

関連する問題