Imports System.Collections
Imports System.Collections.Generic
Imports System.Globalization
Imports System.Reflection
Imports System.ComponentModel.DataAnnotations
Dim path = "..action_name"
Dim count1 = TestRecursive(rawdata)
Dim count2 = TestArrayWildcards(rawdata)
Dim count3 = TestArraySlice(rawdata)
Assert.IsTrue(count1 = 3)
Assert.IsTrue(count2 = 3)
Assert.IsTrue(count3 = 3)
Console.WriteLine("Input JSON:")
Console.WriteLine( Newtonsoft.Json.Linq.JToken.Parse(rawdata))
Friend Function TestRecursive(json as String) As Integer
Dim path = "..action_name"
Friend Function TestArrayWildcards(json as String) As Integer
Dim path = "[*].history.oslc_cm:results[*].action_name"
Friend Function TestArraySlice(json as String) As Integer
Dim path = "[0].history.oslc_cm:results[0,1,2].action_name"
Friend Function Test(rawdata As String, path As String) As Integer
Dim jResults = Newtonsoft.Json.Linq.JToken.Parse(rawdata)
Dim query = jResults.SelectTokens(path)
Dim count = query.Count()
Dim paths = query.Select(Function(t) t.Path).ToList()
Console.WriteLine("Testing SelectTokens() with path ""{0}""", path)
Console.WriteLine("Count = {0}", count)
Console.WriteLine("Paths:")
Console.WRiteLine(Newtonsoft.Json.JsonConvert.SerializeObject(paths, Newtonsoft.Json.Formatting.Indented))
Function GetJson() as String
Dim Jstring As String = <![CDATA[
"dc:title": "CCP56778974",
"Submitted_on": "2011-08-16T16:30:01Z",
"dc:title": "CR_Project",
"rdf:resource": "https://ananh.net/2383783"
"action_timestamp": "2012-03-09T21:18:27Z"
"action_timestamp": "2012-03-08T23:53:55Z"
"new_state": "Submitted",
"old_state": "Submitted",
"action_timestamp": "2011-08-16T16:54:56Z"
"oslc_cm:collref": "http://UYBNYRTCVV.com/47474"
"rdf:about": "https://GHNMUN.com/7546756"
Console.WriteLine("Environment version: " & Environment.Version.ToString())
Console.WriteLine("Json.NET version: " & GetType(Newtonsoft.Json.JsonSerializer).Assembly.FullName)
Console.WriteLine("Unhandled exception: ")
Public Class AssertionFailedException
Public Sub New(message As String)
Public Sub New(message As String, inner As Exception)
MyBase.New(message, inner)
Public Sub IsTrue(value as Boolean, Optional message as String = "failed")
Throw New AssertionFailedException(message)