RestSharp/json.NET 将数组序列化为 JSON 对象
本文关键字:序列化 JSON 对象 数组 json NET RestSharp | 更新日期: 2023-09-27 18:31:23
我有一个小情况。我正在使用 RestSharp 与 Web 服务交互,该服务要求我发送以下内容作为请求的一部分:
{
"a":"a value",
"b":"b value"
}
这一切都很好,很花花公子,因为您可以简单地使用这样的class
:
public class MyClass
{
public string A { get; set; }
public string B { get; set; }
}
但是,我不知道运行时的属性名称。因此,我尝试使用 ExpandoObject
,但当然,这只是序列化为 JSON 数组:
[
"a":"a value",
"b":"b value"
]
因此,似乎我需要能够将Dictionary
(或IEnumerable<KeyValuePair<string, string>>
)序列化(和反序列化)为JSON对象(换句话说,使用大括号而不是括号)。
有谁知道我该怎么做,最好是使用 Json.NET 属性,以便可以在其他地方重用该功能?
使用JObject怎么样?
var obj = new JObject();
obj["One"] = "Value One";
obj["Two"] = "Value Two";
obj["Three"] = "Value Three";
var serialized = obj.ToString(Formatting.None);
给你
{"One":"Value One","Two":"Value Two","Three":"Value Three"}
使用 .net class libs 中的 JavascripSerializer 对象。它支持对正在序列化的对象进行反射
请参阅 MSDN 文档