我正在使用aws lambda的api请求模板来创建和调用post方法。我必须从我的代码中发送一个帖子正文,它应该是json序列化的。
这是我现在正在做的一种方式:
**dynamic pObj = new JObject();
pObj.Url = DownloadURL;
pObj.Name = IName;
pObj.ID = I.ID;**
Custom redirect = new Custom()
{
url = new Uri(lambdaEndpoint),
**Body = pObj.ToString(),**
Method = "POST",
Available = true
};
但我读了article,其中讨论了使用动态关键字的性能问题。
是否有其他方法可以做到性能更好?任何帮助将不胜感激。
由于
答案 0 :(得分:0)
使用dynamic
的替代方法是直接反序列化。由于你知道你的对象,它应该符合预期。
using System;
using Newtonsoft.Json;
public class Program
{
// create you class. You can generate it with http://json2csharp.com/ or use Visual Studio (edit>past special)
public class Custom
{
public string Url { get; set; }
public string Name { get; set; }
public string Id { get; set; }
}
public void Main()
{
string json = "{ \"Url\":\"xyz.com\", \"Name\":\"abc\", \"ID\":\"123\" }";
// the magic code is here! Go to http://www.newtonsoft.com/json for more information
Custom custom = JsonConvert.DeserializeObject<Custom>(json);
// custom is fill with your json!
Console.WriteLine(custom.Name);
}
}
输出:
abc