欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-04-07 08:06:08
该文可参考我的另一篇关联文章: https://www.cnblogs.com/lxhbky/p/6957825.html 配置如下: 转换如下: //获取外围属性的值: //获取属性对应的集合 ......

该文可参考我的另一篇关联文章:   https://www.cnblogs.com/lxhbky/p/6957825.html

 

配置如下:

 <!--邀请用户送优惠券规则{邀请人规则:[{邀请人:优惠券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>("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");
}