Microsoft Technologies based on the .NET software framework. Miscellaneous topics that do not fit into specific categories.
HI,
I cannot reproduce your problem with simple code:
Imports System
Imports System.IO
Imports System.Text.Json
Imports System.Text.Json.Serialization
Imports System.Text.Json.Serialization.Metadata
Module Program01
Sub Main()
Try
Call (New Demo).Execute()
Catch ex As Exception
Console.WriteLine(ex.ToString)
End Try
Console.WriteLine("Continue enter key")
Console.ReadKey()
End Sub
Friend Class Demo
Friend Sub Execute()
Dim result = FetchUserData()
Console.WriteLine(result.POBState)
End Sub
Dim pBirthPlaceCode As String = "05"
Dim pPOBDatabase As New FileStream("Module86.json", FileMode.Open)
Public Function FetchUserData() As BirthPlaceData
Dim jOption As New JsonSerializerOptions With {
.PropertyNameCaseInsensitive = True,
.TypeInfoResolver = SourceGenerationContext.Default
}
Dim POBList As List(Of BirthPlaceData) = JsonSerializer.Deserialize(Of List(Of BirthPlaceData))(pPOBDatabase, jOption)
Dim POBData As BirthPlaceData = POBList.Find(Function(u) u.BirthPlaceCode = pBirthPlaceCode)
Return POBData
End Function
End Class
Public Class BirthPlaceData
Public Property BirthPlaceCode As String
Public Property POBState As String
Public Property POBCountry As String
End Class
<JsonSourceGenerationOptions(WriteIndented:=True), JsonSerializable(GetType(BirthPlaceData))>
Public Class SourceGenerationContext
Inherits JsonSerializerContext
Public Sub New(options As JsonSerializerOptions)
MyBase.New(options)
End Sub
Public Shared Property [Default] As IJsonTypeInfoResolver
Protected Overrides ReadOnly Property GeneratedSerializerOptions As JsonSerializerOptions
Get
Throw New NotImplementedException()
End Get
End Property
Public Overrides Function GetTypeInfo(type As Type) As JsonTypeInfo
Throw New NotImplementedException()
End Function
End Class
End Module