tokenize
array[string] tokenize(string source, string pattern)
Returns an array of strings formed by splitting the source string into an array of strings, separated by substrings that match the given regular expression pattern.
It is a type error if either argument is not a string.
Example
using System;
using System.IO;
using System.Collections.Generic;
using System.Text.Json;
using JsonCons.JsonPath;
namespace JsonCons.Examples
{
public static class JsonPathExamples
{
public static void Main(string[] args)
{
string jsonString = @"
{
""books"":
[
{
""category"": ""fiction"",
""title"" : ""A Wild Sheep Chase"",
""author"" : ""Haruki Murakami"",
""price"" : 22.72
},
{
""category"": ""fiction"",
""title"" : ""The Night Watch"",
""author"" : ""Sergei Lukyanenko"",
""price"" : 23.58
},
{
""category"": ""fiction"",
""title"" : ""The Comedians"",
""author"" : ""Graham Greene"",
""price"" : 21.99
},
{
""category"": ""fiction"",
""author"": ""J. R. R. Tolkien"",
""title"": ""The Lord of the Rings""
}
]
}
";
using (JsonDocument doc = JsonDocument.Parse(jsonString))
{
IList<JsonElement> results = JsonPath.Select(doc.RootElement, @"$.books[?(tokenize(@.author,'\\s+')[-1] == 'Tolkien')]");
foreach (var value in results)
{
Console.WriteLine(value);
}
}
}
}
}
Output:
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings"
}