66 template<
class CharType>
72 template<
class CharType>
79 template<
class CharType>
86 template<
class CharType>
96 template<
class CharType,
class Pr
intPolicy>
107 Writer.
WriteValue(Element->Identifier, Element->Value->AsBool());
116 template<
class CharType,
class Pr
intPolicy>
123 if (Element->Value->PreferStringRepresentation())
129 Writer.
WriteValue(Element->Value->AsNumber());
134 if (Element->Value->PreferStringRepresentation())
140 Writer.
WriteValue(Element->Identifier, Element->Value->AsNumber());
150 template<
class CharType,
class Pr
intPolicy>
157 Writer.
WriteValue(Element->Value->AsString());
161 Writer.
WriteValue(Element->Identifier, Element->Value->AsString());
170 template<
class CharType,
class Pr
intPolicy>
190 template<
class CharType,
class Pr
intPolicy>
195 if (Element->bHasBeenProcessed)
201 Element->bHasBeenProcessed =
true;
227 template<
class CharType,
class Pr
intPolicy>
232 if (Element->bHasBeenProcessed)
238 Element->bHasBeenProcessed =
true;
271template<
typename Policy = FJsonSerializerPolicy_JsonObject>
282 template <
class CharType>
288 template <
class CharType>
291 typename Policy::StackState State;
297 return Policy::GetValueFromState(State,
OutValue);
300 template <
class CharType>
306 template <
class CharType>
309 typename Policy::StackState State;
315 return Policy::GetValueFromState(State,
OutArray);
318 template <
class CharType>
324 template <
class CharType>
327 typename Policy::StackState State;
333 return Policy::GetValueFromState(State,
OutMap);
358 template <
class CharType,
class Pr
intPolicy>
386 template <
class CharType,
class Pr
intPolicy>
407 template <
class CharType,
class Pr
intPolicy>
427 template <
class CharType,
class Pr
intPolicy>
448 template <
class CharType,
class Pr
intPolicy>
468 template <
class CharType,
class Pr
intPolicy>
476 template <
class CharType>
482 typename Policy::FValue NewValue;
489 Policy::ResetValue(NewValue);
504 Policy::ReadObjectStart(*CurrentState);
510 if (ScopeStack.
Num() > 0)
513 Policy::ReadObjectEnd(*CurrentState, NewValue);
515 CurrentState = ScopeStack.
Pop();
528 Policy::ReadArrayStart(*CurrentState);
535 if (ScopeStack.
Num() > 0)
538 Policy::ReadArrayEnd(*CurrentState, NewValue);
540 CurrentState = ScopeStack.
Pop();
557 Policy::ReadNumberAsString(Reader, NewValue);
561 Policy::ReadNumber(Reader, NewValue);
581 Policy::AddValueToObject(*CurrentState,
Identifier, NewValue);
585 Policy::AddValueToArray(*CurrentState, NewValue);
600 template <
class CharType,
class Pr
intPolicy>
648 return Writer.
Close();
#define check(expr)
Definition AssertionMacros.h:314
TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
Definition SharedPointer.h:2009
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
return true
Definition ExternalRpcRegistry.cpp:601
EJsonNotation
Definition JsonTypes.h:60
EJson
Definition JsonTypes.h:23
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
Definition JsonValue.h:273
Definition JsonValue.h:294
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT void Push(ElementType &&Item)
Definition Array.h:1224
ElementType Pop(EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:1196
Definition JsonReader.h:41
double GetValueAsNumber() const
Definition JsonReader.h:192
virtual StoredStringType StealInternalValueAsString()
Definition JsonReader.h:186
TElementType_T< StoredStringType > StoredCharType
Definition JsonReader.h:45
bool ReadNext(EJsonNotation &Notation)
Definition JsonReader.h:57
const FString & GetErrorMessage() const
Definition JsonReader.h:210
bool GetValueAsBoolean() const
Definition JsonReader.h:204
const StoredStringType & GetValueAsNumberString() const
Definition JsonReader.h:198
virtual const FString & GetIdentifier() const
Definition JsonReader.h:164
Definition JsonSerializer.h:273
static bool Deserialize(const TSharedRef< TJsonReader< CharType > > &Reader, typename Policy::FValue &OutValue, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:283
static bool Serialize(const typename Policy::FArrayOfValues &Array, const TSharedRef< TJsonWriter< CharType, PrintPolicy > > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:408
static bool Serialize(const typename Policy::FMapOfValues &Object, TJsonWriter< CharType, PrintPolicy > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:469
static bool Deserialize(TJsonReader< CharType > &Reader, typename Policy::FArrayOfValues &OutArray, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:307
static bool Serialize(const typename Policy::FValue &Value, const FString &Identifier, TJsonWriter< CharType, PrintPolicy > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:387
static bool Serialize(const typename Policy::FValue &Value, const FString &Identifier, const TSharedRef< TJsonWriter< CharType, PrintPolicy > > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:359
static bool Serialize(const typename Policy::FMapOfValues &Object, const TSharedRef< TJsonWriter< CharType, PrintPolicy > > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:449
static bool Deserialize(const TSharedRef< TJsonReader< CharType > > &Reader, typename Policy::FMapOfValues &OutMap, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:319
static bool Deserialize(TJsonReader< CharType > &Reader, typename Policy::FValue &OutValue, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:289
static bool Deserialize(const TSharedRef< TJsonReader< CharType > > &Reader, typename Policy::FArrayOfValues &OutArray, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:301
EFlags
Definition JsonSerializer.h:277
static bool Deserialize(TJsonReader< CharType > &Reader, typename Policy::FMapOfValues &OutMap, EFlags InOptions=EFlags::None)
Definition JsonSerializer.h:325
static bool Serialize(const typename Policy::FArrayOfValues &Array, TJsonWriter< CharType, PrintPolicy > &Writer, bool bCloseWriter=true)
Definition JsonSerializer.h:428
Definition JsonWriter.h:85
void WriteValue(uint8 Value)
Definition JsonWriter.h:201
void WriteObjectStart()
Definition JsonWriter.h:109
EJson GetCurrentElementType() const
Definition JsonWriter.h:104
void WriteObjectEnd()
Definition JsonWriter.h:140
virtual bool Close()
Definition JsonWriter.h:361
void WriteRawJSONValue(FStringView Identifier, FStringView Value)
Definition JsonWriter.h:319
void WriteNull(IdentifierType &&Identifier)
Definition JsonWriter.h:332
void WriteArrayStart()
Definition JsonWriter.h:153
void WriteArrayEnd()
Definition JsonWriter.h:183
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SharedPointer.h:153
@ Element
Definition Visu.h:18
U16 Index
Definition radfft.cpp:71
Definition JsonSerializer.h:29
FElement(const FArrayOfValues &Array)
Definition JsonSerializer.h:40
FElement(const FString &InIdentifier, const FValue &InValue)
Definition JsonSerializer.h:45
FElement(const FMapOfValues &Object)
Definition JsonSerializer.h:35
FValue Value
Definition JsonSerializer.h:52
FElement(const FValue &InValue)
Definition JsonSerializer.h:30
bool bHasBeenProcessed
Definition JsonSerializer.h:53
FString Identifier
Definition JsonSerializer.h:51
bool bIsKeyValuePair
Definition JsonSerializer.h:54
Definition JsonSerializer.h:21
EJson Type
Definition JsonSerializer.h:22
TArray< TSharedPtr< FJsonValue > > Array
Definition JsonSerializer.h:24
FString Identifier
Definition JsonSerializer.h:23
TSharedPtr< FJsonObject > Object
Definition JsonSerializer.h:25
Definition JsonSerializer.h:15
static JSON_API void AddValueToObject(StackState &State, const FString &Identifier, FValue &NewValue)
Definition JsonSerializer.cpp:88
static JSON_API void ReadArrayStart(StackState &State)
Definition JsonSerializer.cpp:73
static JSON_API void ReadArrayEnd(StackState &State, FValue &OutValue)
Definition JsonSerializer.cpp:78
static JSON_API void ResetValue(FValue &OutValue)
Definition JsonSerializer.cpp:57
static bool SerializeIfObject(TArray< TSharedRef< FElement > > &ElementStack, TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:228
static void ReadNumberAsString(TJsonReader< CharType > &Reader, FValue &OutValue)
Definition JsonSerializer.h:80
static JSON_API void ReadObjectEnd(StackState &State, FValue &OutValue)
Definition JsonSerializer.cpp:68
static JSON_API void ReadNull(FValue &OutValue)
Definition JsonSerializer.cpp:83
static bool SerializeIfBool(TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:97
static bool SerializeIfNumber(TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:117
static bool SerializeIfNull(TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:171
static bool SerializeIfArray(TArray< TSharedRef< FElement > > &ElementStack, TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:191
static JSON_API void AddValueToArray(StackState &State, FValue &NewValue)
Definition JsonSerializer.cpp:93
TSharedPtr< FJsonValue > FValue
Definition JsonSerializer.h:16
static JSON_API bool GetValueFromState(const StackState &State, FValue &OutValue)
Definition JsonSerializer.cpp:5
static JSON_API void ReadObjectStart(StackState &State)
Definition JsonSerializer.cpp:62
static void ReadNumber(TJsonReader< CharType > &Reader, FValue &OutValue)
Definition JsonSerializer.h:87
static void ReadBoolean(TJsonReader< CharType > &Reader, FValue &OutValue)
Definition JsonSerializer.h:67
static void ReadString(TJsonReader< CharType > &Reader, FValue &OutValue)
Definition JsonSerializer.h:73
static bool SerializeIfString(TSharedRef< FElement > &Element, TJsonWriter< CharType, PrintPolicy > &Writer, bool bWriteValueOnly)
Definition JsonSerializer.h:151