zoukankan      html  css  js  c++  java
  • c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值

    using Newtonsoft.Json;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp1
    {
    class Program
    {
    static void Main(string[] args)
    {

    string ss = TestAA();
    Console.WriteLine(ss);
    Console.ReadKey();
    }

    private static string TestAA()
    {
    string allowAttr = string.Empty;
    string json = "{"UserName":"Jack","LoS":"Beijing","Group":"34"}";
    //此处模拟在不建实体类的情况下,反转将json返回成dynamic对象
    var DynamicObject = JsonConvert.DeserializeObject<dynamic>(json);
    //var _value = DynamicObject["LoS"];
    List<string> ssList = new List<string>();
    ssList.Add("LoS");
    ssList.Add("Test2");
    foreach(string item in ssList)
    {
    var value2 = DynamicObject[item];//动态获取字符串列表中的字段去dynamic对象中找对应字段的值
    if(value2!=null)
    {
    allowAttr = string.Format("{0}{1}", value2, "_Attribute");
    //string allowAttr2 = string.Format("{0}{1}", value2.Value, "_Attribute");
    }
    }

    return allowAttr;
    //Console.WriteLine(DynamicObject.LoS);
    //Type Ts = DynamicObject.GetType();
    //object o = Ts.GetProperty("Name").GetValue(DynamicObject, null);
    //string Value = Convert.ToString(o);
    //if (string.IsNullOrEmpty(Value))
    //{
    // return null;
    //}
    //else
    //{
    // return Value;
    //}
    }
    }
    }

  • 相关阅读:
    ELK--filebeat命令行参数解释
    ELK--filebeat详解
    centOS7 修改DNS
    nginx-日志统计
    ceph 安装ceph问题汇总
    正则 挖网站表格复习
    c#反射优化 表达式树
    combotree 满足条件的节点不可选中
    NHibernate获取实体配置信息(表名,列名等等)
    jqgrid 单元格放超链接文本
  • 原文地址:https://www.cnblogs.com/klsw/p/8641954.html
Copyright © 2011-2022 走看看