我正在尝试将字符串数组序列化为JSON,我正在使用Newtonsoft JSON.Net,但输出错误,我不知道如何正确序列化。
我使用此代码:
string[] subscriptions = new string[] { "downloads" };
string[] exclusion = new string[] { "REFRESH_CONTENT" };
var toSend = new string[][] { subscriptions, exclusion };
string json = Newtonsoft.Json.JsonConvert.SerializeObject(toSend);
我得到了这个结果:
params: [[\"downloads\"],[\"REFRESH_CONTENT\"]]
但我需要得到这个结果:
params: [\"[\\\"downloads\\\"]\",\"[\\\"REFRESH_CONTENT\\\"]\"]
or without escaped strings (to be sure there is no error in the line above):
params: ["[\"downloads\"]","[\"REFRESH_CONTENT\"]"]
谢谢!
答案 0 :(得分:2)
你的期望是错误的。您的toSend
是一个字符串数组数组。这就是序列化产生的。如果你想获得一个字符串数组,你必须创建一个:
var toSend = new string[] {JsonConvert.SerializeObject(subscriptions), JsonConvert.SerializeObject(exclusion)};
string json = JsonConvert.SerializeObject(toSend);
但是这样,你必须在接收端解析数组的每个元素。