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

配置如下:

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

总结

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

(0)

相关推荐

  • C#实现appSettings节点读取与修改的方法

    本文实例讲述了C#实现appSettings节点读取与修改的方法,分享给大家供大家参考.具体方法如下: 关键代码如下: 复制代码 代码如下: public static string GetAppSettingsValue(string key) {     ConfigurationManager.RefreshSection("appSettings");     return ConfigurationManager.AppSettings[key] ?? string.Empt

  • c#读写App.config,ConfigurationManager.AppSettings 不生效的解决方法

    我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了App.config配置文件. 本文探讨用代码的方式访问 App.config 的方法.关于 App.config 的使用远比上面提到的用途复杂,因此仅讨论最基本的 appSettings 配置节. 一.配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按

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

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

  • sqlserver和java将resultSet中的记录转换为学生对象

    目录 1.Student.java 2.DBUtil.java 3.result.java 4.实现结果 要将结果转化为对象,所以第一步要创建一个对象: 1.Student.java public class Student { //学号.姓名.班级.性别.专业.学院 //类中的属性一定要跟数据库中的一摸一样 包括名称,数据类型 private String 学号; private String 姓名; private String 班级; private String 性别; private

  • JavaScript中原始值和引用值深入讲解

    目录 值和引用相关内容 1. 简单值(原始值) 2. 复杂值(引用值) 3. 访问方式 4. 比较方式 5. 动态属性 6. 变量赋值 灵魂拷问 总结 值和引用相关内容 在 JavaScript 中,数据类型整体上来讲可以分为两大类:基本类型和引用数据类型 基本数据类型,一共有 6 种: string,symbol,number,boolean,undefined,null 其中 symbol 类型是在 ES6 里面新添加的基本数据类型. 引用数据类型,就只有 1 种: object 基本数据类

  • 使用@value注解取不到application.xml配置文件中的值问题

    目录 @value注解取不到application.xml的值 报错信息 原来代码 问题原因 思考 拓展阅读 工具类@Value取不到值 原因是new的对象 @value注解取不到application.xml的值 报错信息 今天从码云上拉下来代码,突然发现系统跑不起来了,报错信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroConfig': Inj

  • ASP.NET Core应用程序配置文件AppSetting.json

    AppSetting.json 当我们使用空项目模板或Razor页面或MVC模板或Web API模板创建ASP.NET Core Web应用程序时,Visual Studio会自动为我们创建appsettings.json文件,如下图所示. appsettings.json文件是一个应用程序配置文件,用于存储配置设置,例如数据库连接字符串,任何应用程序范围的全局变量等.如果打开ASP.NET Core appsettings.json文件,则默认情况下会看到以下代码 这是由Visual Stud

  • JavaScript中将一个值转换为字符串的方法分析[译]

    译者注:前两天在看ES5的时候顺便出了一道题,今天看到这篇文章,刚好解释的很清楚,就翻译了一下.在JavaScript中,主要有三种方法能让任意值转换为字符串.本文讲解了每种方法以及各自的优缺点. 1.转换字符串的三种方法 这三种将value转换为字符串的方法是: 1.value.toString() 2."" + value 3.String(value) 第一种方法存在的问题是,它不能把null和undefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样. •

  • JavaScript中的值类型转换介绍

    在JavaScript中进行+.-.*./.==.!=等运算时,如果操作符左右两边的值类型与预期类型不一致,JavaScript会将操作符两边的值转换成预期的类型后再进行操作.预期值类型为string时,JavaScript会将值转换为string:预期值类型为number时,JavaScript会将值转换为number (如果无法转换为数值,则返回NaN)比如: 复制代码 代码如下: console.log(10 + " cats");//10 cats console.log(10

  • C语言中求余弦值的相关函数总结

    C语言cos()函数:求余弦值 头文件: #include <math.h> cos() 函数用来求余弦值,即求角的临边长度除以斜边长度的比值,其原型为: double cos(double x); [参数]x 为一个弧度. [返回值]返回-1 至1 之间的计算结果. 弧度与角度的关系为: 弧度 = 180 / π 角度 角度 = π / 180 弧度 使用 rtod( ) 函数可以将弧度值转换为角度值. 注意,使用 GCC 编译时请加入-lm. [实例]求两个角度的余弦值并输出, #incl

  • java 将byte中的有效长度转换为String的实例代码

    一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况, 下面是一个简单的示例: package com.javaio.myinputstream; public class MyConsole { public static void main(String argv[]) throws Exception { System.out.printl

  • python中把元组转换为namedtuple方法

    我们可以把表里每一个横行的数据,看成是不同的元组.在理解了这个概念后,昨天我们学了不少的namedtuple类,是否也能把元组转换成namedtuple呢?当然这是一个尝试,很多小伙伴平时使用的时候会很少用到,而且资料的搜集方面也比较难找.小编也搜集了很久才有收获,本篇就为大家带来元组在python中转换为namedtuple的方法. 之前我们了解了为什么使用namedtuple,现在该学习如何将常规元组和转换为namedtuple了.假设由于某种原因,有包含彩色RGBA值的实例.如果要将其转换

随机推荐