一尘不染

将JSON字符串转换为C#对象

c#

尝试将JSON字符串转换为C#中的对象。使用一个非常简单的测试用例:

JavaScriptSerializer json_serializer = new JavaScriptSerializer();
object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");

问题是无法设置routes_list。这是一个未定义的对象。有任何想法吗?


阅读 263

收藏
2020-05-19

共1个答案

一尘不染

似乎您正在尝试反序列化为原始对象。您可以创建一个表示要转换为的对象的类。这在处理较大的对象或JSON字符串的情况下最有用。

例如:

  class Test {

      String test;

      String getTest() { return test; }
      void setTest(String test) { this.test = test; }

  }

那么您的反序列化代码将是:

   JavaScriptSerializer json_serializer = new JavaScriptSerializer();
   Test routes_list = 
          (Test)json_serializer.DeserializeObject("{ \"test\":\"some data\" }");

可以在本教程中找到更多信息:http : //www.codeproject.com/Tips/79435/Deserialize-JSON-with-
Csharp.aspx

2020-05-19