Navigation
| Name | Json |
| Type | Runtime |
| Location | /Engine/Source/Runtime/Json/ |
| Module Build Rules | Json.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FAllocatorImpl | TODO: Can remove this and just use rapidjson::CrtAllocator once RapidJsonIncludes.h starts overriding RAPIDJSON_MALLOC, etc. |
| FJsonObject | A Json Object is a structure holding an unordered set of name/value pairs. |
| FJsonPointer | JSON Pointer defines a string syntax for identifying a specific value within a JavaScript Object Notation (JSON) document (from rfc6901). |
| FJsonSerializerReader | Implements the abstract serializer interface hiding the underlying reader object |
| FJsonSerializerWriter | Implements the abstract serializer interface hiding the underlying writer object |
| FJsonValue | A Json Value is a structure that can be any of the Json Types. |
| FJsonValueArray | A Json Array Value. |
| FJsonValueBoolean | A Json Boolean Value. |
| FJsonValueNull | A Json Null Value. |
| FJsonValueNumber | |
| FJsonValueObject | A Json Object Value. |
| TJsonReader | |
| TJsonReaderFactory | |
| TJsonSerializer | |
| TJsonStringReader | |
| TJsonStringViewReader | |
| TJsonStringWriter | |
| TJsonValueNumberString | A Json Number Value, stored internally as a string so as not to lose precision |
| TJsonValueString | A Json String Value. |
| TJsonWriter | Template for Json writers. |
| TJsonWriterFactory |
Structs
| Name | Remarks |
|---|---|
| FJsonDataBag | Useful if you just want access to the underlying FJsonObject (for cases where the schema is loose or an outer system will do further de/serialization) |
| FJsonObjectArrayUpdater | Utility to update an array of json objects from an array of elements (of arbitrary type). |
| FJsonSerializable | Base class for a JSON serializable object |
| FJsonSerializerBase | Base interface used to serialize to/from JSON. Hides the fact there are separate read/write classes |
| FJsonSerializerPolicy_JsonObject | |
| FParseError | |
| TCondensedJsonPrintPolicy | Template for print policies that generate compressed output. |
| TJsonPrintPolicy | Base template for Json print policies. |
| TPrettyJsonBag | |
| TPrettyJsonPrintPolicy | Template for print policies that generate human readable output. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CondensedSerializer | FJsonSerializerWriter< TCHAR, TCondensedJsonPrintPolicy< TCHAR > > | Serialization/JsonSerializable.h | |
| CondensedWriter | TSharedRef< TJsonWriter< TCHAR, TCondensedJsonPrintPolicy< TCHAR > > > | Serialization/JsonSerializable.h | |
| FAllocator | Private::FAllocatorImpl | JsonUtils/RapidJsonUtils.h | |
| FArray | FValue::Array | JsonUtils/RapidJsonUtils.h | |
| FConstArray | FValue::ConstArray | JsonUtils/RapidJsonUtils.h | |
| FConstObject | FValue::ConstObject | Types that use TCHAR (for reading) | JsonUtils/RapidJsonUtils.h |
| FDocument | rapidjson::GenericDocument< FEncoding, FAllocator > | JsonUtils/RapidJsonUtils.h | |
| FEncoding | rapidjson::UTF16< TCHAR > | Types that use TCHAR (common) | JsonUtils/RapidJsonUtils.h |
| FJsonSerializableArray | TArray< FString > | Array of data | Serialization/JsonTypes.h |
| FJsonSerializableArrayFloat | TArray< float > | Serialization/JsonTypes.h | |
| FJsonSerializableArrayInt | TArray< int32 > | Serialization/JsonTypes.h | |
| FJsonSerializableKeySimpleValueVariantMap | TMap< FString, JsonSimpleValueVariant > | Helps keep key values unique | Serialization/JsonTypes.h |
| FJsonSerializableKeyValueMap | TMap< FString, FString > | Maps a key to a value | Serialization/JsonTypes.h |
| FJsonSerializableKeyValueMapArrayInt | TMap< FString, FJsonSerializableArrayInt > | Serialization/JsonTypes.h | |
| FJsonSerializableKeyValueMapFloat | TMap< FString, float > | Serialization/JsonTypes.h | |
| FJsonSerializableKeyValueMapInt | TMap< FString, int32 > | Serialization/JsonTypes.h | |
| FJsonSerializableKeyValueMapInt64 | TMap< FString, int64 > | Serialization/JsonTypes.h | |
| FJsonSerializer | TJsonSerializer< FJsonSerializerPolicy_JsonObject > | Serialization/JsonSerializer.h | |
| FJsonStringReader | TJsonStringReader< TCHAR > | Serialization/JsonReader.h | |
| FJsonValueNumberString | TJsonValueNumberString< TCHAR > | Dom/JsonValue.h | |
| FJsonValueString | TJsonValueString< TCHAR > | Dom/JsonValue.h | |
| FMember | FValue::Member | JsonUtils/RapidJsonUtils.h | |
| FObject | FValue::Object | Types that use TCHAR (for writing) | JsonUtils/RapidJsonUtils.h |
| FPrettyStringWriter | rapidjson::PrettyWriter< FStringBuffer, FEncoding, FEncoding, FAllocator > | JsonUtils/RapidJsonUtils.h | |
| FStringBuffer | rapidjson::GenericStringBuffer< FEncoding, FAllocator > | JsonUtils/RapidJsonUtils.h | |
| FStringRef | FDocument::StringRefType | JsonUtils/RapidJsonUtils.h | |
| FStringWriter | rapidjson::Writer< FStringBuffer, FEncoding, FEncoding, FAllocator > | JsonUtils/RapidJsonUtils.h | |
| FValue | FDocument::ValueType | JsonUtils/RapidJsonUtils.h | |
| JsonNumberValueVariants | TVariant< int32, uint32, int64, float, double > | We always read with the highest precisions (int64 or double), but we can write with any level of precision | Serialization/JsonTypes.h |
| JsonSimpleValueVariant | TVariant< bool, JsonNumberValueVariants, FString > | Serialization/JsonTypes.h | |
| PrettySerializer | FJsonSerializerWriter<> | Serialization/JsonSerializable.h | |
| PrettyWriter | TSharedRef< TJsonWriter<> > | Serialization/JsonSerializable.h | |
| ReturnStringArgs | TTuple< FString *, bool > | Serialization/JsonSerializable.h | |
| ToJsonVariantArgs | TVariant< ReturnStringArgs, WriterVariants > | Serialization/JsonSerializable.h | |
| WriterVariants | TVariant< PrettyWriter, CondensedWriter > | Serialization/JsonSerializable.h |
Enums
Public
| Name | Remarks |
|---|---|
| EJson | Json (JavaScript Object Notation) is a lightweight data-interchange format. |
| EJsonNotation | |
| EJsonToken |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TokenToNotationTable | EJsonNotation | Serialization/JsonReader.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
StringType & AppendEscapeJsonString
(
StringType& AppendTo, |
Takes an input string and escapes it so it can be written as a valid Json string. | Serialization/JsonWriter.h | |
bool EJsonToken_IsShortValue
(
EJsonToken Token |
Serialization/JsonTypes.h | ||
FString EscapeJsonString
(
const FString& StringVal |
Takes an input string and escapes it so it can be written as a valid Json string. | Serialization/JsonWriter.h | |
bool HasDestinationJsonStringCharRepresentation
(
SrcChar Char |
Takes an input source char representing and returns if it is possible to represent in DstChar expected encoding | Serialization/JsonWriter.h | |
bool operator!=
(
const JsonNumberValueVariants& Lhs, |
Dom/JsonValue.h | ||
bool operator!=
(
const FString& Lhs, |
Dom/JsonValue.h | ||
bool operator!=
(
const JsonNumberValueVariants& Lhs, |
Dom/JsonValue.h | ||
bool operator!=
(
const JsonSimpleValueVariant& Lhs, |
Dom/JsonValue.h | ||
bool operator==
(
const JsonSimpleValueVariant& Lhs, |
Global operators | Dom/JsonValue.h | |
bool operator==
(
const JsonNumberValueVariants& Lhs, |
Dom/JsonValue.h | ||
bool operator==
(
const JsonNumberValueVariants& Lhs, |
Dom/JsonValue.h | ||
bool operator==
(
const FString& Lhs, |
Dom/JsonValue.h | ||
FString ToString
(
const JsonNumberValueVariants& InNumberVariant |
Dom/JsonValue.h | ||
TOptional< TEnum > UE::Json::GetEnumField
(
FConstObject Object, |
Attempts to parse an enum from a string with a specified name | JsonUtils/RapidJsonUtils.h | |
FStringRef UE::Json::MakeStringRef
(
FStringView Str |
Make a RapidJSON reference to the given string. | JsonUtils/RapidJsonUtils.h | |
FValue UE::Json::MakeStringValue
(
FStringView Str, |
Make a RapidJSON value that has a copy of the given string. | JsonUtils/RapidJsonUtils.h | |
JsonSimpleValueVariant UE::Json::ToSimpleJsonVariant
(
const T& InSimpleValue |
Dom/JsonValue.h | ||
bool UE::JsonArray::Private::FromJson
(
TArray< T >& OutArray, |
Serialization/JsonSerializable.h | ||
void UE::JsonArray::Private::ToJson
(
TArray< T >& InArray, |
Serialization/JsonSerializable.h | ||
void UE::JsonArray::Private::ToJson_SerializeArrayElements
(
TArray< T >& InArray, |
Serialization/JsonSerializable.h | ||
void UE::JsonArray::Private::ToJson_SerializeArrayElements
(
TArray< T* >& InArray, |
Serialization/JsonSerializable.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool UE::JsonArray::FromJson
(
TArray< T >& OutArray, |
Serialization/JsonSerializable.h | ||
static bool UE::JsonArray::FromJson
(
TArray< T >& OutArray, |
Serialization/JsonSerializable.h | ||
static bool UE::JsonArray::FromJson
(
TArray< T >& OutArray, |
Serialization/JsonSerializable.h | ||
static bool UE::JsonArray::FromJson
(
TArray< T >& OutArray, |
Serialization/JsonSerializable.h | ||
static const FString UE::JsonArray::ToJson
(
TArray< T >& InArray, |
Non-const due to T::Serialize being a non-const function | Serialization/JsonSerializable.h | |
static void UE::JsonArray::ToJson
(
TArray< T >& InArray, |
Serialization/JsonSerializable.h | ||
static void UE::JsonArray::ToJson
(
TArray< T >& InArray, |
Serialization/JsonSerializable.h |