C# 将动态转换为json(匿名)
我有一个C# 将动态转换为json(匿名),c#,C#,我有一个dynamic对象,我必须将其转换为json(匿名),以便作为参数传递给API。进行此转换的最佳方法是什么 有这样一个帖子: 但这并不完全适用于我,因为我无法使用var,如下面的评论所述 谢谢 阿南德 试图隐藏 dynamic d = new ExpandoObject() d.prop = "value" 致: 如果您在.netcore中,可以使用System.Text.Json并序列化为动态 public static void Main() { dynamic w
dynamic
对象,我必须将其转换为json
(匿名),以便作为参数传递给API。进行此转换的最佳方法是什么
有这样一个帖子:
但这并不完全适用于我,因为我无法使用var
,如下面的评论所述
谢谢
阿南德
试图隐藏
dynamic d = new ExpandoObject()
d.prop = "value"
致:
如果您在
.netcore
中,可以使用System.Text.Json代码>并序列化为动态
public static void Main()
{
dynamic w = new ExpandoObject() { Date = DateTime.Now, Item1 = 30 };
w.Item2 = 123;
Console.WriteLine(JsonSerializer.Serialize<dynamic>(w));
}
class ExpandoObject
{
public DateTimeOffset Date { get; set; }
public int Item1 { get; set; }
public int Item2 { get; set; }
}
你试过这个吗?我看过这篇文章,但我认为它不适用于我的情况。我不能使用var,因为我必须在创建后动态添加属性。如果需要JSON,为什么要创建动态对象?如果你有{“prop”=“value”}
只需解析它。是的,我是这样做的:使用param作为字典
I序列化var payloadRequest=JsonConvert.SerializeObject(param);var json=JObject.Parse(payloadRequest)代码>
public static void Main()
{
dynamic w = new ExpandoObject() { Date = DateTime.Now, Item1 = 30 };
w.Item2 = 123;
Console.WriteLine(JsonSerializer.Serialize<dynamic>(w));
}
class ExpandoObject
{
public DateTimeOffset Date { get; set; }
public int Item1 { get; set; }
public int Item2 { get; set; }
}
dynamic results = JsonConvert.SerializeObject<dynamic>(w);