Class GsonHelper

java.lang.Object
net.minecraft.util.GsonHelper

public class GsonHelper extends Object
  • Field Details

    • GSON

      private static final Gson GSON
  • Constructor Details

    • GsonHelper

      public GsonHelper()
  • Method Details

    • isStringValue

      public static boolean isStringValue(JsonObject pJson, String pMemberName)
      Does the given JsonObject contain a string field with the given name?
    • isStringValue

      public static boolean isStringValue(JsonElement pJson)
      Is the given JsonElement a string?
    • isNumberValue

      public static boolean isNumberValue(JsonObject pJson, String pMemberName)
    • isNumberValue

      public static boolean isNumberValue(JsonElement pJson)
    • isBooleanValue

      public static boolean isBooleanValue(JsonObject pJson, String pMemberName)
    • isBooleanValue

      public static boolean isBooleanValue(JsonElement pJson)
    • isArrayNode

      public static boolean isArrayNode(JsonObject pJson, String pMemberName)
      Does the given JsonObject contain an array field with the given name?
    • isObjectNode

      public static boolean isObjectNode(JsonObject pJson, String pMemberName)
    • isValidPrimitive

      public static boolean isValidPrimitive(JsonObject pJson, String pMemberName)
      Does the given JsonObject contain a field with the given name whose type is primitive (String, Java primitive, or Java primitive wrapper)?
    • isValidNode

      public static boolean isValidNode(@Nullable JsonObject pJson, String pMemberName)
      Does the given JsonObject contain a field with the given name?
    • getNonNull

      public static JsonElement getNonNull(JsonObject pJson, String pMemberName)
    • convertToString

      public static String convertToString(JsonElement pJson, String pMemberName)
      Gets the string value of the given JsonElement. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsString

      public static String getAsString(JsonObject pJson, String pMemberName)
      Gets the string value of the field on the JsonObject with the given name.
    • getAsString

      @Nullable @Contract("_,_,!null->!null;_,_,null->_") public static String getAsString(JsonObject pJson, String pMemberName, @Nullable String pFallback)
      Gets the string value of the field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToItem

      public static Holder<Item> convertToItem(JsonElement pJson, String pMemberName)
    • getAsItem

      public static Holder<Item> getAsItem(JsonObject pJson, String pMemberName)
    • getAsItem

      @Nullable @Contract("_,_,!null->!null;_,_,null->_") public static Holder<Item> getAsItem(JsonObject pJson, String pMemberName, @Nullable Holder<Item> pFallback)
    • convertToBoolean

      public static boolean convertToBoolean(JsonElement pJson, String pMemberName)
      Gets the boolean value of the given JsonElement. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsBoolean

      public static boolean getAsBoolean(JsonObject pJson, String pMemberName)
      Gets the boolean value of the field on the JsonObject with the given name.
    • getAsBoolean

      public static boolean getAsBoolean(JsonObject pJson, String pMemberName, boolean pFallback)
      Gets the boolean value of the field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToDouble

      public static double convertToDouble(JsonElement pJson, String pMemberName)
    • getAsDouble

      public static double getAsDouble(JsonObject pJson, String pMemberName)
    • getAsDouble

      public static double getAsDouble(JsonObject pJson, String pMemberName, double pFallback)
    • convertToFloat

      public static float convertToFloat(JsonElement pJson, String pMemberName)
      Gets the float value of the given JsonElement. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsFloat

      public static float getAsFloat(JsonObject pJson, String pMemberName)
      Gets the float value of the field on the JsonObject with the given name.
    • getAsFloat

      public static float getAsFloat(JsonObject pJson, String pMemberName, float pFallback)
      Gets the float value of the field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToLong

      public static long convertToLong(JsonElement pJson, String pMemberName)
      Gets a long from a JSON element and validates that the value is actually a number.
    • getAsLong

      public static long getAsLong(JsonObject pJson, String pMemberName)
      Gets a long from a JSON element, throws an error if the member does not exist.
    • getAsLong

      public static long getAsLong(JsonObject pJson, String pMemberName, long pFallback)
    • convertToInt

      public static int convertToInt(JsonElement pJson, String pMemberName)
      Gets the integer value of the given JsonElement. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsInt

      public static int getAsInt(JsonObject pJson, String pMemberName)
      Gets the integer value of the field on the JsonObject with the given name.
    • getAsInt

      public static int getAsInt(JsonObject pJson, String pMemberName, int pFallback)
      Gets the integer value of the field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToByte

      public static byte convertToByte(JsonElement pJson, String pMemberName)
    • getAsByte

      public static byte getAsByte(JsonObject pJson, String pMemberName)
    • getAsByte

      public static byte getAsByte(JsonObject pJson, String pMemberName, byte pFallback)
    • convertToCharacter

      public static char convertToCharacter(JsonElement pJson, String pMemberName)
    • getAsCharacter

      public static char getAsCharacter(JsonObject pJson, String pMemberName)
    • getAsCharacter

      public static char getAsCharacter(JsonObject pJson, String pMemberName, char pFallback)
    • convertToBigDecimal

      public static BigDecimal convertToBigDecimal(JsonElement pJson, String pMemberName)
    • getAsBigDecimal

      public static BigDecimal getAsBigDecimal(JsonObject pJson, String pMemberName)
    • getAsBigDecimal

      public static BigDecimal getAsBigDecimal(JsonObject pJson, String pMemberName, BigDecimal pFallback)
    • convertToBigInteger

      public static BigInteger convertToBigInteger(JsonElement pJson, String pMemberName)
    • getAsBigInteger

      public static BigInteger getAsBigInteger(JsonObject pJson, String pMemberName)
    • getAsBigInteger

      public static BigInteger getAsBigInteger(JsonObject pJson, String pMemberName, BigInteger pFallback)
    • convertToShort

      public static short convertToShort(JsonElement pJson, String pMemberName)
    • getAsShort

      public static short getAsShort(JsonObject pJson, String pMemberName)
    • getAsShort

      public static short getAsShort(JsonObject pJson, String pMemberName, short pFallback)
    • convertToJsonObject

      public static JsonObject convertToJsonObject(JsonElement pJson, String pMemberName)
      Gets the given JsonElement as a JsonObject. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsJsonObject

      public static JsonObject getAsJsonObject(JsonObject pJson, String pMemberName)
    • getAsJsonObject

      @Nullable @Contract("_,_,!null->!null;_,_,null->_") public static JsonObject getAsJsonObject(JsonObject pJson, String pMemberName, @Nullable JsonObject pFallback)
      Gets the JsonObject field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToJsonArray

      public static JsonArray convertToJsonArray(JsonElement pJson, String pMemberName)
      Gets the given JsonElement as a JsonArray. Expects the second parameter to be the name of the element's field if an error message needs to be thrown.
    • getAsJsonArray

      public static JsonArray getAsJsonArray(JsonObject pJson, String pMemberName)
      Gets the JsonArray field on the JsonObject with the given name.
    • getAsJsonArray

      @Nullable @Contract("_,_,!null->!null;_,_,null->_") public static JsonArray getAsJsonArray(JsonObject pJson, String pMemberName, @Nullable JsonArray pFallback)
      Gets the JsonArray field on the JsonObject with the given name, or the given default value if the field is missing.
    • convertToObject

      public static <T> T convertToObject(@Nullable JsonElement pJson, String pMemberName, JsonDeserializationContext pContext, Class<? extends T> pAdapter)
    • getAsObject

      public static <T> T getAsObject(JsonObject pJson, String pMemberName, JsonDeserializationContext pContext, Class<? extends T> pAdapter)
    • getAsObject

      @Nullable @Contract("_,_,!null,_,_->!null;_,_,null,_,_->_") public static <T> T getAsObject(JsonObject pJson, String pMemberName, @Nullable T pFallback, JsonDeserializationContext pContext, Class<? extends T> pAdapter)
    • getType

      public static String getType(@Nullable JsonElement pJson)
      Gets a human-readable description of the given JsonElement's type. For example: "a number (4)"
    • fromNullableJson

      @Nullable public static <T> T fromNullableJson(Gson pGson, Reader pReader, Class<T> pAdapter, boolean pLenient)
    • fromJson

      public static <T> T fromJson(Gson pGson, Reader pReader, Class<T> pAdapter, boolean pLenient)
    • fromNullableJson

      @Nullable public static <T> T fromNullableJson(Gson pGson, Reader pReader, TypeToken<T> pType, boolean pLenient)
    • fromJson

      public static <T> T fromJson(Gson pGson, Reader pReader, TypeToken<T> pType, boolean pLenient)
    • fromNullableJson

      @Nullable public static <T> T fromNullableJson(Gson pGson, String pJson, TypeToken<T> pType, boolean pLenient)
    • fromJson

      public static <T> T fromJson(Gson pGson, String pJson, Class<T> pAdapter, boolean pLenient)
    • fromNullableJson

      @Nullable public static <T> T fromNullableJson(Gson pGson, String pJson, Class<T> pAdapter, boolean pLenient)
    • fromJson

      public static <T> T fromJson(Gson pGson, Reader pReader, TypeToken<T> pType)
    • fromNullableJson

      @Nullable public static <T> T fromNullableJson(Gson pGson, String pJson, TypeToken<T> pType)
    • fromJson

      public static <T> T fromJson(Gson pGson, Reader pReader, Class<T> pJsonClass)
    • fromJson

      public static <T> T fromJson(Gson pGson, String pJson, Class<T> pAdapter)
    • parse

      public static JsonObject parse(String pJson, boolean pLenient)
    • parse

      public static JsonObject parse(Reader pReader, boolean pLenient)
    • parse

      public static JsonObject parse(String pJson)
    • parse

      public static JsonObject parse(Reader pReader)
    • parseArray

      public static JsonArray parseArray(String pString)
    • parseArray

      public static JsonArray parseArray(Reader pReader)
    • toStableString

      public static String toStableString(JsonElement pJson)
    • writeValue

      public static void writeValue(JsonWriter pWriter, @Nullable JsonElement pJsonElement, @Nullable Comparator<String> pSorter) throws IOException
      Throws:
      IOException
    • sortByKeyIfNeeded

      private static Collection<Map.Entry<String,JsonElement>> sortByKeyIfNeeded(Collection<Map.Entry<String,JsonElement>> pEntries, @Nullable Comparator<String> pSorter)