using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
public static void Test()
var json = JToken.Parse(GetJson());
var path = @"$.projects[?(@.client.code == 'DEF')].client";
var test = json.SelectTokens(path);
Console.WriteLine("Path = \"{0}\", result: ", path);
Console.WriteLine(JsonConvert.SerializeObject(test, Formatting.Indented));
var path1 = "$.projects[*].client";
var clients = json.SelectTokens(path1);
Console.WriteLine("Path = \"{0}\", result: ", path1);
Console.WriteLine(JsonConvert.SerializeObject(clients, Formatting.Indented));
""name"":""Null Project"",
public static void Main()
Console.WriteLine("Environment version: " + Environment.Version);
Console.WriteLine("Json.NET version: " + typeof(JsonSerializer).Assembly.FullName);