• API Documentation
Show / Hide Table of Contents
  • BuildSystem.Allure.Generator
    • AllureServe
  • BuildSystem.Builder.Dotnet
    • BuilderDotnet
    • BuilderDotnetProps
  • BuildSystem.Builder.Midl
    • BuilderMidl
    • BuilderMidlProps
  • BuildSystem.Builder.MsCpp
    • BuilderMsCpp
    • BuilderMsCppProps
  • BuildSystem.Builder.MsDelphi
    • BuilderMsDelphi
    • BuilderMsDelphiProps
  • BuildSystem.BuildSpace
    • IBuildSpace
  • BuildSystem.BuildSpace.Common
    • BuildSpaceCommon
    • RegisterFactoryAssemblies
  • BuildSystem.Cleaner.Common
    • CleanerCommon
    • CleanerCommonProps
  • BuildSystem.Factories
    • BuilderProps
    • CleanerProps
    • Factory<T1, T2>
    • FileCopierProps
    • GenDocProps
    • GenLangProps
    • GitExploreOptions
    • GlobalFactory
    • HashGeneratorProps
    • ITestRunnerProps
    • PackageManagerProps
    • ProjectCacheProps
    • ReclaimerProps
    • ReclaimerStrategyFactory
    • SignerProps
    • TestRunnerProps
    • TlbGenBplProps
    • TlbGenDotnetDllProps
    • TlbGenPasProps
    • VersionManagerProps
  • BuildSystem.FileCopier.Common
    • FileCopierCommon
    • FileCopierCommonProps
  • BuildSystem.GenDoc.DocFX
    • CppReader
    • CSharpConverter
    • DelphiReader
    • GenDocFX
    • GenDocFXProps
    • IReader
    • SourceInfo
    • SourceInfoLang
    • SourceInfoSummary
    • SourceInfoSyntax
    • SourceInfoSyntaxParam
    • SourceInfoType
    • YamlWriter
  • BuildSystem.HashGenerator.Common
    • HashGeneratorCommon
    • HashGeneratorCommonProps
  • BuildSystem.Info
    • BuildInfo
    • JenkinsInfo
    • RunInfo
    • SessionInfo
  • BuildSystem.Loggers
    • LoggerBroadCaster
    • LoggerBuffer
    • LoggerConsole
    • LoggerFile
  • BuildSystem.Logging
    • ILogger
    • LogLevel
    • tagLogLevel
  • BuildSystem.ManagerObject
    • IDictionaryStringString
    • IManager
    • IManagerProp
    • ManagerType
    • tagManagerType
  • BuildSystem.ManagerObject.Interfaces
    • CacheDependencyInfo
    • CacheProjectInfo
    • FileGroup
    • GenLangResult
    • GetPackageInfo
    • GetVersionList
    • HashAlgorithmType
    • IBuilder
    • IBuilderProps
    • ICleaner
    • ICleanerProps
    • IFileCopier
    • IFileCopierProps
    • IGenDoc
    • IGenDocProps
    • IGenLang
    • IGenLangProps
    • IHashGenerator
    • IHashGeneratorProps
    • IPackageManager
    • IPackageManagerProps
    • IProjectCache
    • IProjectCacheProps
    • IReclaimer
    • IReclaimerProps
    • IReclaimerStrategy
    • IReclaimerStrategyProps
    • IRestorer
    • IRestorerProps
    • ISigner
    • ISignerProps
    • ITestRunner
    • ITlbGenBpl
    • ITlbGenBplProps
    • ITlbGenDotnetDll
    • ITlbGenDotnetDllProps
    • ITlbGenPas
    • ITlbGenPasProps
    • IVersionManager
    • IVersionManagerProps
    • ReaderType
    • RestorerDepProp
    • VersionIncrementType
    • VersionIncrementValue
    • VersionManagerType
  • BuildSystem.ManagersFactory
    • IManagersFactory
    • ListManagerNameForVariant
    • ManagerConstNames
    • ManagerNameForVariant
  • BuildSystem.ManagersFactory.Common
    • ManagersFactoryCommon
  • BuildSystem.Nuget.Logging
    • NuGetLogging
  • BuildSystem.Package
    • CachePackageInfo
    • GetNextVersion
    • IPackage
    • IPackageProps
    • LicensePackageInfo
    • PackageAction
    • PackageDependency
    • PackageFiles
    • PackageProps
    • RepoPackageInfo
    • SetDuplicatePushStorageInfo
    • SetStorageInfo
    • StorageInfo
    • VersionProp
  • BuildSystem.Package.Dotnet
    • PackageDotnet
    • PackageDotnetProps
  • BuildSystem.Package.Factory
    • PackageFactory
    • PackageType
  • BuildSystem.Package.Nuget
    • PackageNuget
    • PackageNugetProps
  • BuildSystem.PackageManager.Dotnet
    • PackageManagerDotnet
    • PackageManagerDotnetProps
  • BuildSystem.PackageManager.Nuget
    • PackageManagerNuget
    • PackageManagerNugetProps
  • BuildSystem.Project
    • GetProjectInfoDelegate
    • IProject
    • ProjectGenDocProps
    • ProjectInfo
  • BuildSystem.Project.Base
    • ProjectBase
  • BuildSystem.Project.Cpp
    • ProjectCpp
  • BuildSystem.Project.CSharp
    • ProjectCSharp
  • BuildSystem.Project.Delphi
    • ProjectDelphi
  • BuildSystem.Project.Dependency
    • JsonProjectDependencies
    • NativeDependencies
    • ProjectDependency
  • BuildSystem.Project.Factory
    • ProjectFactory
  • BuildSystem.Project.Idl
    • ProjectIdl
  • BuildSystem.Project.PropReader
    • IProjectPropReader
  • BuildSystem.Project.PropReader.Json
    • ProjectPropReaderJson
  • BuildSystem.Project.Res
    • ProjectRes
  • BuildSystem.Project.Wix
    • ProjectWix
  • BuildSystem.ProjectCache.Common
    • ProjectCacheCommon
    • ProjectCacheCommonProps
  • BuildSystem.ProjectCache.NuGet
    • ProjectCacheNuGet
    • ProjectCacheNuGetProps
  • BuildSystem.ProjectList
    • BuildResultIsRequiredDelegate
    • CalcCopyBuildResultPathDelegate
    • CompilerConstants
    • IAnalyzer
    • IAnalyzerProps
    • IBuildInfoSaver
    • IBuildInfoSaverProps
    • ICompiler
    • ICompilerProps
    • ICopierBuildResults
    • ICopierBuildResultsProps
    • IDeployer
    • IDeployerProps
    • IProjectList
    • IProjectListProps
    • IProjectRestorer
    • IProjectRestorerProps
    • ISourceHashCalculator
    • ISourceHashCalculatorProps
    • ProjectFilter
    • RestoreInsteadOfBuildDelegate
    • SourceHashCalculatorConstants
  • BuildSystem.ProjectList.Common
    • GitHelper
    • GraphDot
    • ManagerRestorer
    • ProjectListCommon
    • ProjectListCommonProps
  • BuildSystem.ProjectList.Factory
    • ProjectListFactory
  • BuildSystem.ProjectList.Helpers
    • AnalyzerCommon
    • AnalyzerCommonProps
    • BuildInfoSaverCommon
    • BuildInfoSaverCommonProps
    • CompilerCommon
    • CompilerCommonProps
    • CopierBuildResultsCommon
    • CopierBuildResultsCommonProps
    • DeployerCommon
    • DeployerCommonProps
    • PackagesRestorer
    • ProjectRestorerCommon
    • ProjectRestorerCommonProps
    • SourceHashCalculatorCommon
    • SourceHashCalculatorCommonProps
    • TransitiveDependenciesBuilder
  • BuildSystem.Reclaimer.NugetCommon
    • ReclaimerNugetCommon
    • ReclaimerNugetCommonProps
  • BuildSystem.Reclaimer.Strategy.Common
    • ReclaimerStrategyCommon
    • ReclaimerStrategyCommonProps
  • BuildSystem.Reclaimer.Strategy.Delegate
    • CalcDeletingPackages
    • ReclaimerStrategyDelegate
    • ReclaimerStrategyDelegateProps
  • BuildSystem.Restorer
    • RestorerProps
  • BuildSystem.Restorer.Nuget
    • RestorerNuget
    • RestorerNugetProps
  • BuildSystem.SettingsReader
    • ISettingsReader
    • ReaderJson
    • SettingsReaderType
  • BuildSystem.SettingsReader.Factory
    • SettingsReaderFactory
  • BuildSystem.SettingsReader.Json
    • SettingsReaderJson
  • BuildSystem.SettingsReader.Object
    • SettingsObject
    • SettingsReaderObject
  • BuildSystem.SharedMemIPC
    • DelayedProcedure
    • HandleRequestProc
    • HandleStreamProc
    • IPCStream
    • SharedMemClient
    • SharedMemObject
    • SharedMemServer
  • BuildSystem.Signer.Win
    • SignerWin
    • SignerWinProps
  • BuildSystem.TestRunner.Common
    • TestRunnerCommon
    • TestRunnerCommonProps
  • BuildSystem.TlbDoc
    • TlbHelpReader
  • BuildSystem.TlbGenBpl.ThroughPas
    • TlbGenBplThroughPas
    • TlbGenBplThroughPasProps
  • BuildSystem.TlbGenDotnetDll.TlbImp
    • TlbGenDotnetDllTlbImp
    • TlbGenDotnetDllTlbImpProps
  • BuildSystem.TlbGenPas.LibImp
    • TlbGenPasLibImp
    • TlbGenPasLibImpProps
  • BuildSystem.TypesCS.Dictionary
    • DictionaryStringString
  • BuildSystem.Utils
    • Matcher
    • PropReader
  • BuildSystem.Utils.AdminRunner
    • AdminRunner
    • SingleRunner
  • BuildSystem.Utils.DirectoryHelper
    • DirectoryCleaner
    • DirectoryCopier
    • DirectoryScanner
  • BuildSystem.Utils.Executor
    • CmdRunner
    • ExeLine
    • ExeRunner
  • BuildSystem.Utils.FileFormatter
    • FileFormatter
  • BuildSystem.Utils.GitHelper
    • GitRepository
  • BuildSystem.Utils.IpcProcessRunner
    • ProcessRunner
  • BuildSystem.Utils.Json
    • JsonDefinesFormatter
    • JsonReader
    • JsonUtils
  • BuildSystem.Utils.PathReader
    • PathReader
  • BuildSystem.Utils.Xml
    • XmlUtils
  • BuildSystem.Variants
    • ConfigurationType
    • TargetPlatform
    • Variant
    • VariantList
  • BuildSystem.VersionManager.Common
    • VersionManagerCommon
    • VersionManagerCommonProps
  • IdeProjectFileEditor
    • DBinOutType
    • DConfigType
    • DotNetOutPathType
    • DotNetReferenceType
    • DPathPropType
    • DPlatformType
    • IDelphiMainSrcEditor
    • IDelphiProjectEditor
    • IDEProjectEditor
    • IDotNetProjectEditor
    • IProjectReferenceEditor
    • IXMLEditor
    • ProjectReferenceInfo
  • ProjectDependencyScanner
    • DependencyScanner
    • IDLAdditionalInfo
    • IDotNetAdditionalInfo
    • IDSProject
    • IDSProjectsList
    • IPDelphiAdditionalInfo
    • IProjectDependencyScanner
    • IProjectsDependenciesScanner
    • PlatformType
    • ProjectType

Class JsonUtils

Help methods to work with JSON

Inheritance
object
JsonUtils
Namespace: BuildSystem.Utils.Json
Assembly: BuildSystem.Utils.dll
Syntax
public static class JsonUtils : Object

Methods

Merge(JsonNode, JsonNode?)

Merges simple JsonObject with another simple JsonObject. Analyzes keys top level only

Declaration
public static JsonObject Merge(JsonNode firstJson, JsonNode? priorJson)
Parameters
Type Name Description
System.Text.Json.Nodes.JsonNode firstJson

JsonObject with lesser priority

System.Text.Json.Nodes.JsonNode priorJson

JsonObject with higher priority

Returns
Type Description
System.Text.Json.Nodes.JsonObject

Merged JsonObject

ReadEnum<TEnum>(JsonNode?, string, TEnum?)

Read value of node as string and then cast it to the value from enum

Declaration
public static TEnum? ReadEnum<TEnum>(JsonNode? node, string key, TEnum? defValue)
Parameters
Type Name Description
System.Text.Json.Nodes.JsonNode node

JSON which must be JsonObject

string key

Key in input json

TEnum defValue

Default value if

Returns
Type Description
TEnum
Type Parameters
Name Description
TEnum

ReadEnum<TEnum>(JsonNode?, string)

Read value of node as string and then cast it to the value from enum

Declaration
public static TEnum ReadEnum<TEnum>(JsonNode? node, string key)
Parameters
Type Name Description
System.Text.Json.Nodes.JsonNode node

JSON which must be JsonObject

string key

Key in input json

Returns
Type Description
TEnum

Value casted to enum

Type Parameters
Name Description
TEnum
Exceptions
Type Condition
System.ArgumentException

JSON is not JsonObject or does not contain need key

System.ArgumentOutOfRangeException

Value cannot be casted to enum

SaveToFile(JsonNode, string)

Save JSON to text file with formatting

Declaration
public static void SaveToFile(JsonNode json, string resultFile)
Parameters
Type Name Description
System.Text.Json.Nodes.JsonNode json

Saving JSON

string resultFile

Creating file

In This Article
Back to top Generated by DocFX