什么是 jpath for { "Type" : "Ping" } in Json.Net?



我有一个来自webSockets的简单字符串。我坚持使用jPath for SelectTokens((方法。有什么路径可以帮助我获取$.只有当它等于"Ping"时才键入?

var str= @"{""Type"":""Ping""}";
var token = JObject.Parse(str).SelectToken("$.Type =='Ping'");

这是一个c#应用程序,使用了标准的Json.Net库。

您只需在选择后检查令牌值:

var token = JObject.Parse(str).SelectToken("$.Type");
Console.WriteLine(token?.Value<string>() == "Ping");

如果你在json中有一个数组,你可以使用json路径过滤器:

var str= @"{""root"": [{""Type"":""Ping""}]}";
var token = JObject.Parse(str).SelectTokens("$.root[?(@.Type == 'Ping')]");

接下来将选择整个属性:

var token = JObject.Parse(str).SelectToken("$[?($.Type == 'Ping')]");
Console.WriteLine(token);

最新更新