调用第三方接口,返回的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="" 是不可以的,前边加“@”符号即可。