MatureJsonValueHelpers.h 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. // Copyright 2024 Tracer Interactive, LLC. All Rights Reserved.
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "Kismet/BlueprintFunctionLibrary.h"
  5. #include "MatureJsonValue.h"
  6. #include "MatureJsonObject.h"
  7. #include "MatureJsonList.h"
  8. #include "MatureJsonValueHelpers.generated.h"
  9. UCLASS()
  10. class MATUREJSON_API UMatureJsonValueHelpers : public UBlueprintFunctionLibrary
  11. {
  12. GENERATED_BODY()
  13. public:
  14. // Parse a JSON string.
  15. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  16. static bool Parse(UPARAM(ref) FMatureJsonValue& JValue,const FString& Text );
  17. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  18. static bool ParseFile(UPARAM(ref) FMatureJsonValue& JValue, const FString& filepath);
  19. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  20. static FString SaveString(UPARAM(ref) FMatureJsonValue& JValue);
  21. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  22. static bool SaveFile(UPARAM(ref) FMatureJsonValue& JValue, const FString& filepath);
  23. UFUNCTION(BlueprintPure, Category = "Mature Json")
  24. static int Size(const FMatureJsonValue& JValue);
  25. UFUNCTION(BlueprintPure, Category = "Mature Json")
  26. static bool IsEmpty(const FMatureJsonValue& JValue);
  27. UFUNCTION(BlueprintPure, Category = "Mature Json")
  28. static FMatureJsonValue& Clear(UPARAM(ref) FMatureJsonValue& JValue);
  29. UFUNCTION(BlueprintPure, Category = "Mature Json")
  30. static EMatureJsonType Type(const FMatureJsonValue& JValue);
  31. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  32. static bool IsObject(UPARAM(ref)const FMatureJsonValue& JValue);
  33. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  34. static bool IsArray(UPARAM(ref)const FMatureJsonValue& JValue);
  35. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  36. static bool IsString(UPARAM(ref)const FMatureJsonValue& JValue);
  37. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  38. static bool IsNumber(UPARAM(ref)const FMatureJsonValue& JValue);
  39. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  40. static bool IsNull(UPARAM(ref)const FMatureJsonValue& JValue);
  41. UFUNCTION(BlueprintCallable, Category = "Mature Json")
  42. static bool IsBool(UPARAM(ref)const FMatureJsonValue& JValue);
  43. // Convert a boolean to a JSON value.
  44. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Boolean", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  45. static FMatureJsonValue FromBoolean(bool Value);
  46. // Convert a float to a JSON value.
  47. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Float", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  48. static FMatureJsonValue FromFloat(float Value);
  49. // Convert an integer to a JSON value.
  50. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Integer", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  51. static FMatureJsonValue FromInteger(int32 Value);
  52. // Convert a string to a JSON value.
  53. UFUNCTION(BlueprintPure, meta = (DisplayName = "From String", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  54. static FMatureJsonValue FromString(const FString& Value);
  55. // Convert a date/time to a JSON value.
  56. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Date/Time", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  57. static FMatureJsonValue FromDateTime(const FDateTime& Value);
  58. // Convert a GUID to a JSON value.
  59. UFUNCTION(BlueprintPure, meta = (DisplayName = "From GUID", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  60. static FMatureJsonValue FromGuid(const FGuid& Value);
  61. // Convert a color to a JSON value.
  62. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  63. static FMatureJsonValue FromColor(const FColor& Value);
  64. // Convert a linear color to a JSON value.
  65. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Linear Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  66. static FMatureJsonValue FromLinearColor(const FLinearColor& Value);
  67. // Convert a rotator to a JSON value.
  68. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Rotator", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  69. static FMatureJsonValue FromRotator(const FRotator& Value);
  70. // Convert a transform to a JSON value.
  71. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Transform", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  72. static FMatureJsonValue FromTransform(const FTransform& Value);
  73. // Convert a vector to a JSON value.
  74. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Vector", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  75. static FMatureJsonValue FromVector(const FVector& Value);
  76. // Convert a JSON object to a JSON value.
  77. UFUNCTION(BlueprintPure, meta = (DisplayName = "From Object", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  78. static FMatureJsonValue FromObject(const FMatureJsonObject& Value);
  79. // Convert a JSON array to a JSON value.
  80. UFUNCTION(BlueprintPure, meta = (DisplayName = "From List", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  81. static FMatureJsonValue FromList(const FMatureJsonList& Value);
  82. UFUNCTION(BlueprintPure, meta = (DisplayName = "From List", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  83. static FMatureJsonValue FromValue(const FMatureJsonValue& Value);
  84. // Convert a JSON value valueto a boolean.
  85. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Boolean", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  86. static bool ToBoolean(const FMatureJsonValue& JValue);
  87. // Convert a JSON value valueto a float.
  88. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Float", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  89. static float ToFloat(const FMatureJsonValue& JValue);
  90. // Convert a JSON value valueto an integer.
  91. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Integer", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  92. static int32 ToInteger(const FMatureJsonValue& JValue);
  93. // Convert a JSON value valueto a string.
  94. UFUNCTION(BlueprintPure, meta = (DisplayName = "To String", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  95. static FString ToString(const FMatureJsonValue& JValue);
  96. // Convert a JSON value valueto a date/time.
  97. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Date/Time", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  98. static FDateTime ToDateTime(const FMatureJsonValue& JValue);
  99. // Convert a JSON value valueto a GUID.
  100. UFUNCTION(BlueprintPure, meta = (DisplayName = "To GUID", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  101. static FGuid ToGuid(const FMatureJsonValue& JValue);
  102. // Convert a JSON value valueto a color.
  103. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  104. static FColor ToColor(const FMatureJsonValue& JValue);
  105. // Convert a JSON value valueto a linear color.
  106. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Linear Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  107. static FLinearColor ToLinearColor(const FMatureJsonValue& JValue);
  108. // Convert a JSON value valueto a linear color.
  109. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Linear Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  110. static FRotator ToRotator(const FMatureJsonValue& JValue);
  111. // Convert a JSON value valueto a linear color.
  112. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Linear Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  113. static FVector ToVector(const FMatureJsonValue& JValue);
  114. // Convert a JSON value valueto a linear color.
  115. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Linear Color", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json|Engine")
  116. static FTransform ToTransform(const FMatureJsonValue& JValue);
  117. // Convert a JSON value valueto a JSON object.
  118. UFUNCTION(BlueprintPure, meta = (DisplayName = "To Object", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  119. static FMatureJsonObject ToObject(const FMatureJsonValue& JValue);
  120. // Convert a JSON value valueto a JSON array.
  121. UFUNCTION(BlueprintPure, meta = (DisplayName = "To List", CompactNodeTitle = "->", BlueprintAutocast), Category = "Mature Json")
  122. static FMatureJsonList ToList(const FMatureJsonValue& JValue);
  123. };