✕
        
        
下面是将JSON字符串转换为C#对象的方法,我们将使用转换器和 Newtonsoft.Json 等外部库来解析我们的对象
确保你的JSON对象格式正确且没有被转义。
注意,我们将JSON最外层生成的类名称默认JsonRootDto可以通过 “类名” 这个生成属性进行修改
注意,生成的命名空间默认名称为LzlTool.Dto可以通过 “命名空间” 这个生成属性进行修改
这个是一个示例JSON,我们在下面的步骤中使用它:
{
  "Test": {
    "id": 4,
    "userid": "用户Id",
    "object": {
      "prop1": 1,
      "prop2": "test"
    },
    "created_at": "2012-06-02 23:33:90",
    "user_list": [
      {
        "id": "2",
        "name": "测试1"
      },
      {
        "id": "6",
        "name": "测试2"
      }
    ]
  },
  "Test2": {
    "Prop2": "值1"
  }
}
                    一个示例类代码:
using Newtonsoft.Json;
namespace LzlTool.Dto
{
    public class UserListItem
    {
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("id")]
        public string Id { get; set; }
        /// <summary>
        /// 测试1
        /// </summary>
        [JsonProperty("name")]
        public string Name { get; set; }
    }
}
                    你会注意到这里有JsonProperty在JSON对象中包含原始属性名称的字段上的属性。这是为了告诉Newtonsoft.Json, C#类中的这个字段的名称与JSON对象中的不同。【告诉框架解析时候进行映射关联的字段】
假设您打开了 Visual Studio,那么下一步就是导入Newtonsoft.Json程序集并创建从该工具生成的C#类。
您将在NuGet中下载安装
这个 Newtonsoft.Json 它将帮助我们读取JSON并将其映射到根对象。
然后添加创建的C#类到项目中
使用Newtonsoft.Json进行反序列化
                        
JsonRootDto deserializedClass = JsonConvert.DeserializeObject(jsonData);
                        
                