UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
JsonStringifyArchive.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "PrettyJsonWriter.h"
8
9struct FCustomVersion;
10
11namespace UE::Private
12{
13
14struct FJsonStringifyImpl;
15
16// Serial in the name of this type is meant to refer to 'UObject::Serialize(FArchive&)'.
17// This writer writes the resulting byte stream safely to json.
19{
21 const UObject* InObject,
22 int32 InitialIndentLevel,
26
27 // FMemoryWriter wants to work with TArray<uint8>
28 // so that's what we're returning:
30private:
31 TArray<uint8> GetNullStream() const;
32
33 virtual void Serialize(void* V, int64 Length) override;
34 #if WITH_EDITOR
35 virtual void SerializeBool(bool& D) override;
36 #endif
37 virtual FArchive& operator<<(UObject*& Value) override;
38 virtual FArchive& operator<<(FField*& Value) override;
39 virtual FArchive& operator<<(struct FLazyObjectPtr& Value) override;
40 virtual FArchive& operator<<(struct FObjectPtr& Value) override;
41 virtual FArchive& operator<<(struct FSoftObjectPtr& Value) override;
42 virtual FArchive& operator<<(struct FSoftObjectPath& Value) override;
43 virtual FArchive& operator<<(struct FWeakObjectPtr& Value) override;
44 // overrides for strings:
45 virtual FArchive& operator<<(FName& Value) override;
46 virtual FArchive& operator<<(FText& Value) override;
47
48 const UObject* const ObjectBeingStreamSerialized;
49 FJsonStringifyImpl* RootImpl;
50
51 TArray<uint8> Result;
52 FMemoryWriter MemoryWriter;
54 int32 InitialIndentLevel;
55 TArray<FCustomVersion>& VersionsToHarvest;
56};
57
58}
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ArchiveUObject.h:17
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
Definition Archive.h:1208
Definition Field.h:556
Definition MemoryWriter.h:101
Definition NameTypes.h:617
Definition Text.h:385
Definition Array.h:670
Definition SharedPointer.h:153
Definition Object.h:95
Definition PackageReader.cpp:44
Definition CustomVersion.h:40
Definition LazyObjectPtr.h:151
Definition ObjectPtr.h:55
Definition SoftObjectPath.h:56
Definition SoftObjectPtr.h:45
Definition WeakObjectPtr.h:49
Definition JsonStringifyArchive.h:19
TArray< uint8 > ToJson()
Definition JsonStringifyArchive.cpp:39
Definition JsonStringifyImpl.h:24