Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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.Net:从JToken中获取密钥_C#_Json.net - Fatal编程技术网

C# Json.Net:从JToken中获取密钥

C# Json.Net:从JToken中获取密钥,c#,json.net,C#,Json.net,有没有办法从JToken对象中取出钥匙?(这意味着不是JObject,而是JToken) 与JObject不同,该类型返回一个集合,到目前为止,我无法获取键,只能获取字符串格式的值 例如: var raw = JRaw.Parse(x); foreach(var i in raw){ // Get the key of i // Get the value of i } 我需要强调的是,我只想使用这种方法,不想采用不同的解决方案 您可以迭代所有JProperty元素: fore

有没有办法从
JToken
对象中取出钥匙?(这意味着不是JObject,而是JToken)

JObject
不同,该类型返回一个集合,到目前为止,我无法获取键,只能获取字符串格式的值

例如:

var raw = JRaw.Parse(x);
foreach(var i in raw){
    // Get the key of i
    // Get the value of i
}

我需要强调的是,我只想使用这种方法,不想采用不同的解决方案

您可以迭代所有
JProperty
元素:

foreach(JProperty prop in raw.OfType<JProperty>())
{
   Console.WriteLine($"{prop.Name} = {prop.Value}");
}  
foreach(raw.OfType()中的JProperty属性)
{
Console.WriteLine($“{prop.Name}={prop.Value}”);
}  
如果您知道所有元素都是属性,那么您就不需要类型
之类的东西