Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取动态解析的JSON的所有对象属性的值_C#_Json - Fatal编程技术网

C# 获取动态解析的JSON的所有对象属性的值

C# 获取动态解析的JSON的所有对象属性的值,c#,json,C#,Json,我试图获取这个对象的值,这个对象是一个经过解析的json对象中的动态属性。当我尝试获取信息时,我不断得到返回的12个属性。一个是JToken。首先,JToken。最后。它们以正确的方式提供信息,但它们并没有提供所有信息,目标是获取存储在动态对象中的所有信息 public class JsonWrapper { public static dynamic UnWrapDynamic(dynamic obj) { PropertyInfo[] objectInfo =

我试图获取这个对象的值,这个对象是一个经过解析的json对象中的动态属性。当我尝试获取信息时,我不断得到返回的12个属性。一个是JToken。首先,JToken。最后。它们以正确的方式提供信息,但它们并没有提供所有信息,目标是获取存储在动态对象中的所有信息

public class JsonWrapper
{
    public static dynamic UnWrapDynamic(dynamic obj)
    {
        PropertyInfo[] objectInfo = obj.GetType().GetProperties();

        foreach (PropertyInfo propertyInfo in objectInfo)
        {
            if (propertyInfo.PropertyType.Name == nameof(JToken) && propertyInfo.Name == nameof(JToken.First))
            {
                return (JToken)propertyInfo.GetValue(obj).Values;
            }
        }

        return null;
    }
}
  • 列表项

  • 违背了动态。。。您最好将解析json对象改为json.NET从json解析而来的通用“东西”
    First
    Last
    是指向令牌的第一个子项和最后一个子项的快捷方式。如果你能展示你是如何得到动态对象的,我猜你可以得到很多方法来迭代它的属性。比如说,好吧,谢谢你,我稍后会研究它,我现在必须睡觉了。