我通过POST检索以下JSON通过API如何创建一个词典<字符串,字符串>嵌套对象
{
"State":"Andhra_Pradesh",
"District":"Guntur",
"Fact":"SELECT",
"Description":"",
"FactDate":"",
"FactNumber":"",
"FactType":"SELECT",
"Fact":{"Id":"1"}
}
我能够执行通过JavaScript Ajax请求,但我也希望通过C#代码来使用API。
我正在使用下面的代码,但我不太确定如何添加事实对象?
var values = new Dictionary<string, string>
{
{ "State", selectedState },
{ "District", selectedDistrict },
{ "Fact", ""},
{ "FactType", ""},
{ "FactNumber", ""},
{ "Description", ""},
{"Fact", "{Id,1}" },
{"FactDate", factDate.Date.ToString() }
};
using (var httpClient = new HttpClient())
{
var content = new FormUrlEncodedContent(values);
var response = await httpClient.PostAsync("http://api.in/" + "test", content);
}
如何将Fact对象添加到Dictionary?
我不熟悉这个领域,但我想你应该写' “{ID:1}”',而不是' “{ID,1}”'? – Sweeper
你问的是不是不可能的,但我建议不要在这里使用'Dictionary'。一旦你的JSON对象不再只是一个平坦的属性列表,并开始嵌套属性等,你会更好的定义一个自定义的类,以匹配你期望的JSON对象。这也消除了通过索引(字符串)查找来查找属性的需要,并使得它们可以通过定义的属性直接访问。您目前的问题可以得到解答,但在您的情况下,这似乎是一个糟糕的方法。 –
Flater
为什么不使用Json格式? – Valkyrie