C# - JSON SNS 序列化
C# - JSON serialization for SNS
我想序列化要通过 AWS SNS 模块发送的消息。
public async Task<string> jsonConvert(string message)
{
datamessage datamessage = new datamessage { message = message };
gcmMessage lGcm = new gcmMessage { data = datamessage };
MessageDto messageDto = new MessageDto { GCM = JsonConvert.SerializeObject(lGcm) };
var msg = JsonConvert.SerializeObject(messageDto);
return msg;
}
我正在使用此代码,但 return 值为
{"GCM":"{\"data\":{\"message\":\"TestMsg\"}}"}
但我想要它
{"default": "TestMsg", "GCM": "{ \"data\": { \"message\": \"TestMsg\" } }"}
如有任何帮助,我们将不胜感激。
您要创建的 Json 的结构应该如下所示:
类:
public class Data
{
[JsonProperty("message")]
public string Message { get; set; }
}
public class GCM
{
[JsonProperty("data")]
public Data Data { get; set; }
}
public class RootObject
{
[JsonProperty("default")]
public string Default { get; set; }
[JsonProperty("GCM")]
public GCM GCM { get; set; }
}
创建消息:
RootObject rootObject = new RootObject
{
Default = "TestMsg",
GCM = new GCM { Data = new Data { Message = "TestMsg" } }
};
序列化:
var serialized = JsonConvert.SerializeObject(rootObject);
结果
"{\"default\":\"TestMsg\",\"GCM\":{\"data\":{\"message\":\"TestMsg\"}}}"
在你的方法中它看起来像这样:
public async Task<string> jsonConvert(string message)
{
RootObject rootObject = new RootObject
{
Default = message,
GCM = new GCM { Data = new Data { Message = message } }
};
var msg = await Task.Factory.StartNew(() => JsonConvert.SerializeObject(rootObject));
return msg;
}
我想序列化要通过 AWS SNS 模块发送的消息。
public async Task<string> jsonConvert(string message)
{
datamessage datamessage = new datamessage { message = message };
gcmMessage lGcm = new gcmMessage { data = datamessage };
MessageDto messageDto = new MessageDto { GCM = JsonConvert.SerializeObject(lGcm) };
var msg = JsonConvert.SerializeObject(messageDto);
return msg;
}
我正在使用此代码,但 return 值为
{"GCM":"{\"data\":{\"message\":\"TestMsg\"}}"}
但我想要它
{"default": "TestMsg", "GCM": "{ \"data\": { \"message\": \"TestMsg\" } }"}
如有任何帮助,我们将不胜感激。
您要创建的 Json 的结构应该如下所示:
类:
public class Data
{
[JsonProperty("message")]
public string Message { get; set; }
}
public class GCM
{
[JsonProperty("data")]
public Data Data { get; set; }
}
public class RootObject
{
[JsonProperty("default")]
public string Default { get; set; }
[JsonProperty("GCM")]
public GCM GCM { get; set; }
}
创建消息:
RootObject rootObject = new RootObject
{
Default = "TestMsg",
GCM = new GCM { Data = new Data { Message = "TestMsg" } }
};
序列化:
var serialized = JsonConvert.SerializeObject(rootObject);
结果
"{\"default\":\"TestMsg\",\"GCM\":{\"data\":{\"message\":\"TestMsg\"}}}"
在你的方法中它看起来像这样:
public async Task<string> jsonConvert(string message)
{
RootObject rootObject = new RootObject
{
Default = message,
GCM = new GCM { Data = new Data { Message = message } }
};
var msg = await Task.Factory.StartNew(() => JsonConvert.SerializeObject(rootObject));
return msg;
}