我需要获取:
public class Package
{
public Package()
{
name = "";
type = new List<Dictionary<string, string>>();
}
public string name { get; set; }
public List<Dictionary<string, string>> type { get; set; }
}
转化为:
{
"name":"package_name",
"type":
{
"http://random.url.as.key":"random/value"
}
}
使用:
Package package = new Package();
package.name = "package_name";
package.type.Add(new Dictionary<string, string>() { { "http://random.url.as.key", "random/value" } });
我得到:
{
"name":"package_name",
"type":
[
[
{
"Key":"http:\/\/random.url.as.key",
"Value":"random\/value"
}
]
]
}
while, with:
->while, with:
var package = new
{
name = "package_name",
type = new
{
http_random_url_as_key = "random/value"
}
};
我得到:
{
"name":"package_name",
"type":
{
"http_random_url_as_key":"random/value"
}
}
我无法获取我需要的模糊的 http://random.url.as.key。我已经尝试使用JavaScriptSerializer、DataContractJsonSerializer、以及 Json.NET 自定义转换器,但都存在限制性成功/缺陷。
肯定有更好的方法/我忽略了一些东西来通过网络获取一个简单的JSON对象!
Package
类无法编译通过。你确定字段type是一个List<Dictionary<string,string>>
吗?当转换为JSON时,它似乎想要表现得像一个Dictionary<string,string>
。 - Cheng Chen