我试过了:
NameValueCollection Data = new NameValueCollection();
Data.Add("foo","baa");
string json = new JavaScriptSerializer().Serialize(Data);
Run Code Online (Sandbox Code Playgroud)
它返回:["foo"]我期望{"foo" : "baa"}
我该怎么做?
我写了一些自定义的JsonConverters来将json文本反序列化为System.Net.Mail.MailMessage对象.这是完整的代码,可以在LINQPad中运行.有趣的是,此代码在Json.NET 4.5.11中按预期运行:
void Main()
{
const string JsonMessage = @"{
""From"": {
""Address"": ""askywalker@theEmpire.gov"",
""DisplayName"": ""Darth Vader""
},
""Sender"": null,
""ReplyTo"": null,
""ReplyToList"": [],
""To"": [
{
""Address"": ""lskywalker@theRebellion.org"",
""DisplayName"": ""Luke Skywalker""
}
],
""Bcc"": [],
""CC"": [
{
""Address"": ""lorgana@alderaan.gov"",
""DisplayName"": ""Princess Leia""
}
],
""Priority"": 0,
""DeliveryNotificationOptions"": 0,
""Subject"": ""Family tree"",
""SubjectEncoding"": null,
""Headers"": [],
""HeadersEncoding"": null,
""Body"": ""<strong>I am your father!</strong>"",
""BodyEncoding"": ""US-ASCII"",
""BodyTransferEncoding"": -1,
""IsBodyHtml"": true,
""Attachments"": [
{
""FileName"": ""skywalker family tree.jpg"",
""ContentBase64"": …Run Code Online (Sandbox Code Playgroud)