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

编辑: admin 分类: c#语言 发布时间: 2022-03-12 来源:互联网

配置如下:

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

转换如下:

//获取外围属性的值:

 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&【自由互联:韩国服务器 转载请保留连接】gt;("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中的值转换为动态对象调用的相关知识,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!