UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
JsonObjectStructInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "UObject/Class.h"
6
7class FJsonObject;
9
16
28
38{
45 virtual EJsonObjectConvertResult ConvertToJson(const void* StructMemory, TSharedPtr<FJsonObject>& OutJsonObject) const = 0;
46
54
55protected:
56
57 virtual ~IJsonObjectStructConverter() = default;
58};
59
77template<typename StructType>
79{
81
82 virtual EJsonObjectConvertResult ConvertToJson(const void* StructMemory, TSharedPtr<FJsonObject>& OutJsonObject) const override
83 {
84 return static_cast<const StructType*>(StructMemory)->ConvertToJson(OutJsonObject);
85 }
86
87 virtual EJsonObjectConvertResult ConvertFromJson(void* StructMemory, const TSharedPtr<FJsonObject>& InJsonObject) const override
88 {
89 return static_cast<StructType*>(StructMemory)->ConvertFromJson(InJsonObject);
90 }
91};
92
94namespace UE::Json::Private
95{
97}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EJsonObjectConvertResult
Definition JsonObjectStructInterface.h:18
Definition JsonObject.h:23
Definition SharedPointer.h:692
Definition Class.h:1720
Definition JsonConversion.cpp:15
const IJsonObjectStructConverter * GetStructConverterInterface(const UScriptStruct *ScriptStruct)
Definition JsonObjectStructInterface.cpp:28
Definition JsonObjectStructInterface.h:12
static JSONUTILITIES_API void UnregisterStructConverter(const UScriptStruct *ScriptStruct)
Definition JsonObjectStructInterface.cpp:20
static JSONUTILITIES_API void RegisterStructConverter(const UScriptStruct *ScriptStruct, const IJsonObjectStructConverter *ConverterInterface)
Definition JsonObjectStructInterface.cpp:14
Definition JsonObjectStructInterface.h:38
virtual EJsonObjectConvertResult ConvertToJson(const void *StructMemory, TSharedPtr< FJsonObject > &OutJsonObject) const =0
virtual EJsonObjectConvertResult ConvertFromJson(void *StructMemory, const TSharedPtr< FJsonObject > &InJsonObject) const =0
virtual ~IJsonObjectStructConverter()=default
Definition JsonObjectStructInterface.h:79
virtual EJsonObjectConvertResult ConvertToJson(const void *StructMemory, TSharedPtr< FJsonObject > &OutJsonObject) const override
Definition JsonObjectStructInterface.h:82
virtual EJsonObjectConvertResult ConvertFromJson(void *StructMemory, const TSharedPtr< FJsonObject > &InJsonObject) const override
Definition JsonObjectStructInterface.h:87