C# json 转匿名对象及C#关键字的处理

调用第三方接口,返回的json字符串,为了方便使用转为C#匿名对象:

       /// 
       /// json转为匿名对象
       /// 
       /// 
       /// 
       /// 
       /// 
       public static T Json2AnonymousType(string json, T anonymousTypeObject)
       {
           return JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
       }

收到的用户json信息字符串 

 {
    "uid": "654",
    "organName": "测试学校",
    "organCode": "380001",
    "roles": "[131, 492]",
    "organId": "344e22a61",
    "userType": "1",
    "organType": "500",
    "userName": "测试老师",
    "rkxx": [],
    "userId": "teacher",
    "login_phone": "1800000000",
    "login_email": "[email protected]",
    "class": "2022级4班",
    "grade": "年级"
 }

转换为匿名对象

    var user = Utility.Json2AnonymousType(userJson, new
    {
        uid = "",           // 用户标识
        userId = "",        // 账户名
        userName = "",      // 用户姓名
        organName = "",     // 学校机构名称
        userType = "",      // 用户类型  
        login_phone="",     // 手机号码
        login_email="",     // 邮箱
        grade="",           // 年级名称
        @class=""           // 班级名称
    });

使用:

 Console.WriteLine(user.uid);
 Console.WriteLine(user.userName);
 Console.WriteLine(user.@class);

 // json中没有的属性获取到为null

注意:对方用户对象中的班级用了 C#关键字 class,直接使用 class="" 是不可以的,前边加“@”符号即可。

你可能感兴趣的:(c#,json,编辑器)