如果您的 JSON 结构未知,您可以将其解析为JToken
如下所示:
JToken token = JToken.Parse(json);
Run Code Online (Sandbox Code Playgroud)
从那里,您可以使用 或SelectToken()
与SelectTokens()
递归下降JsonPath表达式来查找与键匹配的属性(或多个属性):
JToken match = token.SelectToken("$.." + keyToFind);
Run Code Online (Sandbox Code Playgroud)
获得匹配的令牌后,您可以使用其Path
属性获取它的路径:
string path = match?.Path;
Run Code Online (Sandbox Code Playgroud)
这是一个工作演示,假设您有多个密钥需要查找,并且每个密钥可以在 JSON 中出现多次: https: //dotnetfiddle.net/9Em9Iq