使用服务器端C#,如何将查询字符串转换为密钥和值的JSON字符串?例如,我想转换
"ID=951357852456&FNAME=Jaime&LNAME=Lopez"
Run Code Online (Sandbox Code Playgroud)
至
{ "ID":"951357852456" , "FNAME":"Jaime" , "LNAME":"Lopez" }
Run Code Online (Sandbox Code Playgroud)
我知道如何手动解析和格式化,但在开始这条路之前,我想我会问,因为可能有一个库可以做得更好.谢谢!
显然,IDictionary<string,object>被序列化为KeyValuePair对象数组(例如[{Key:"foo", Value:"bar"}, ...]).是否可以将其序列化为对象(例如{foo:"bar"})?
我有以下类我尝试序列化到Json失败了.
class HL7 : NameValueCollection
{
public List<HL7> Children { get; set; }
public HL7()
{
Children = new List<HL7>();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了这样的对象并向其添加了数据:
HL7 hl7 = new HL7();
hl7.Add("a", "123");
hl7.Add("b", "456");
hl7.Children.Add(new HL7());
hl7.Children[0].Add("c", "123");
hl7.Children[0].Add("d", "456");
Run Code Online (Sandbox Code Playgroud)
我打电话的时候
JsonConvert.SerializeObject(hl7)
Run Code Online (Sandbox Code Playgroud)
我收到
["a","b"]
Run Code Online (Sandbox Code Playgroud)
我期待以下内容:
{
"a": "123",
"b": "456",
"Children": [
{
"c": "123",
"d": "456",
}
]
}
Run Code Online (Sandbox Code Playgroud) 我写了一些自定义的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) 可能重复:
在ASP.net中获取POST变量
我只想打印所有发布的变量及其值.
Request.Form只给我一些没有值的名称,并Request.InputStream给我" 此流不支持超时. "错误.
我怎样才能得到所有张贴值一样$_POST做的PHP?