Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization.Formatters
Imports System.ComponentModel.DataAnnotations
Imports System.Globalization
Imports System.Reflection
Imports System.Collections.ObjectModel
Imports Newtonsoft.Json.Linq
Imports Newtonsoft.Json.Converters
Imports Newtonsoft.Json.Serialization
Imports Microsoft.VisualBasic
Console.WriteLine("Environment version: {0} ({1})", System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription, GetNetCoreVersion)
Console.WriteLine("version: {0}", GetType(JsonSerializer).Assembly.FullName)
Console.WriteLine("-" & TestClass.GetJsonOrder & "-")
Console.WriteLine("Failed with unhandled exception: ")
Public Function GetNetCoreVersion() As String
Dim assembly = GetType(System.Runtime.GCSettings).GetTypeInfo.Assembly
Dim assemblyPath = assembly.Location.Split(vbCrLf)
Microsoft.VisualBasic.ChrW(47)
Microsoft.VisualBasic.ChrW(92)
Dim netCoreAppIndex As Integer = Array.IndexOf(assemblyPath, "Microsoft.NETCore.App")
If ((netCoreAppIndex > 0) _
AndAlso (netCoreAppIndex _
< (assemblyPath.Length - 2))) Then
Return assemblyPath((netCoreAppIndex + 1))
Dim jsonString = TestClass.GetJsonOrder
Dim token = JsonConvert.DeserializeObject(Of JObject)(jsonString)
Console.WriteLine("Prove jsonString, Deserialized token: ")
Public Shared Sub TestMemo()
Dim jsonString = TestClass.GetJsonOrder
Console.Write("State of deserializedOjbect (NDOrder_order_test), ")
Dim token = JsonConvert.DeserializeObject(Of NDOrder_order_test)(jsonString)
Console.WriteLine("Worked")
Console.WriteLine("Show first braums: {0}", token.memo(0))
Console.Write("Prove printing_data, ")
Dim printing_data = JsonConvert.DeserializeObject(Of NDOrder_memo)(token.memo(0))
Console.WriteLine("worked ({0})", printing_data.braums.printing_data.customerFirstName)
Console.WriteLine("Show second braums: {0}", token.memo(1))
Console.Write("Prove cancellation_reason, ")
Dim cancellation_reason = JsonConvert.DeserializeObject(Of NDOrder_memo)(token.memo(1))
Console.WriteLine("worked ({0})", cancellation_reason.braums.cancellation_reasons.who)
Public Shared Sub ShowIssue()
Dim jsonString = TestClass.GetJsonOrder
Console.Write("State of deserializedOjbect (NDOrder_order), ")
Dim token = JsonConvert.DeserializeObject(Of NDOrder_order)(jsonString)
Console.WriteLine("Worked")
Public Shared Function GetJsonOrder() As String
Public Shared Function GetJsonMemo() As String
"""{'braums': {'printing_data': {'customerFirstName': 'xxxxxx', 'orderNumber': 4495, 'customerLastName': 'xxxxxx'}}}""," &
"""{'braums': {'cancellation_reasons': {'who': 'xxxxxxx', 'when': '11/18/2020 8:02 PM', 'why': 'called to cancel'}}}""" &
Public Class NDOrder_order_test
Public Class NDOrder_order
Public memo As List(Of NDOrder_memo)
Public Class NDOrder_memo
Public braums As NDOrder_memo_braums
Public Class NDOrder_memo_braums
Public printing_data As NDOrder_memo_braums_printing_data
Public cancellation_reasons As NDOrder_memo_braums_cancellation_reasons
Public customer_signature As String
Public Class NDOrder_memo_braums_cancellation_reasons
Public Class NDOrder_memo_braums_printing_data
Public customerFirstName As String
Public orderNumber As Double
Public customerLastName As String
Public num_refrigerated_labels As Double
Public num_dry_labels As Double
Public packedBy As String
Public pickupTime As String
Public num_frozen_labels As Double