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;
    //}
    }
    }
    }

  • 相关阅读:
    三层架构(我了解并详细分析)
    define a class for a linked list and write a method to delete the nth node.
    无阻塞情况connect生产EINPROGRESS错
    辛星和你解读PHP递归
    Android -- Looper.prepare()和Looper.loop() —深度版
    Canvas翻转方法
    BP神经网络的基本原理
    muduo网络图书馆评测
    HBASE
    MySQL
  • 原文地址:https://www.cnblogs.com/klsw/p/8641954.html
Copyright © 2011-2022 走看看