您可能不想仅仅将路由_List声明为object类型。它没有.Test属性,所以您实际上不会得到一个很好的对象。这是您最好定义类或结构,或者使用Dynamic关键字的地方之一。
如果您真的想让这段代码像现在这样工作,您需要知道DeserializeObject返回的对象是String,Object的通用字典。下面是这样做的代码:var json_serializer = new JavaScriptSerializer();var routes_list = (IDictionary)
json_serializer.DeserializeObject("{ \"test\":\"some data\" }");Console.WriteLine(routes_list["test"]);
如果要使用Dynamic关键字,你可以在这里读到.
如果您声明了一个类或结构,您可以调用Deserialization而不是DeserializeObject,如下所示:class MyProgram {
struct MyObj {
public string test { get; set; }
}
static void Main(string[] args) {
var json_serializer = new JavaScriptSerializer();
MyObj routes_list = json_serializer.Deserialize("{ \"test\":\"some data\" }");
Console.WriteLine(routes_list.test);
Console.WriteLine("Done...");
Console.ReadKey(true);
}}