将JSON字符串转换为C#对象
试图在C#中把一个JSON字符串转换成一个对象。使用一个非常简单的测试案例。
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");
问题是routes_list从未被设置,它是一个未定义的对象。有什么想法吗?
174
3
看起来你是想反序列化为一个原始对象。 你可以创建一个类,代表你要转换的对象。 这在你处理较大的对象或JSON字符串的情况下最有用。
比如说。
那么你的反序列化代码将是。
更多信息可以在本教程中找到。 http://www.codeproject.com/Tips/79435/Deserialize-JSON-with-Csharp.aspx
你可能不想把routes_list声明为一个 "对象 "类型。 它没有一个.test属性,所以你真的不会得到一个好的对象。 这是一个你最好定义一个类或一个结构的地方,或者使用动态关键字。
如果你真的想让这段代码按你的要求工作,你需要知道DeserializeObject返回的对象是一个字符串、对象的通用字典。 下面是以这种方式进行的代码。
如果你想使用动态关键字,你可以在这里阅读如何使用。
如果你声明了一个类或结构,你可以像这样调用Deserialize而不是DeserializeObject。
这是我从各种帖子中拼凑出来的一个简单类....。它被测试了大约15分钟,但似乎*能满足我的目的。它使用
JavascriptSerializer
来完成工作,可以在你的应用程序中使用本帖的详细信息来引用。下面的代码可以在LinqPad中运行,以测试它。
希望能有所帮助!