C#将配置文件appsetting中的值转换为动态对象调用

时间:2021-11-18 22:55:01

配置如下:

?
1
2
<!--邀请用户送优惠券规则{邀请人规则:[{邀请人:优惠券ID}],使用邀请码人:优惠券ID},按照邀请人数从小到大配置-->
 <add key="INVITE_USER_RULE" value='{"InviteUser":[{"InvitePersonsCount":1,"CouponID":54},{"InvitePersonsCount":3,"CouponID":55},{"InvitePersonsCount":6,"CouponID":56}],"UseInviteUserCouponID":57}' />

转换如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//获取外围属性的值:
 
 string inviteUserRule = ConfigSetting.INVITE_USER_RULE;
//inviteRuleObj的类型是JObject             
dynamic inviteRuleObj = JsonHelper.ConvertStrToJson<dynamic>(inviteUserRule);
//获取外围属性
int welcomeCouponID = inviteRuleObj.UseInviteUserCouponID;
 
//获取属性对应的集合
JArray inviteUserRuleObj = inviteRuleObj.InviteUser;
foreach (var item in inviteUserRuleObj)
{
  inviteUserCount = item.Value<int>("InvitePersonsCount");
  couponID = item.Value<int>("CouponID");
}
 
//也可以写成以下方式
 
string inviteUserStr=JsonHelp.ConvertJsonToStr(inviteRuleObj.InviteUser);
 
List<dynamic> inviteUserList=JsonHelper.ConvertStrToJson<dynamic>(inviteUserStr);
foreach (var item in inviteUserList)
{
  inviteUserCount = item.Value<int>("InvitePersonsCount");
  couponID = item.Value<int>("CouponID");
}

总结

以上所述是小编给大家介绍的C#将配置文件appsetting中的值转换为动态对象调用的相关知识,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

原文链接:https://www.cnblogs.com/lxhbky/archive/2018/09/14/9648461.html