package net.minecraft.src;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
public class Json
{
public static float getFloat(JsonObject obj, String field, float def)
{
JsonElement elem = obj.get(field);
return elem == null ? def : elem.getAsFloat();
}
public static boolean getBoolean(JsonObject obj, String field, boolean def)
{
JsonElement elem = obj.get(field);
return elem == null ? def : elem.getAsBoolean();
}
public static String getString(JsonObject jsonObj, String field)
{
return getString(jsonObj, field, (String)null);
}
public static String getString(JsonObject jsonObj, String field, String def)
{
JsonElement jsonElement = jsonObj.get(field);
return jsonElement == null ? def : jsonElement.getAsString();
}
public static float[] parseFloatArray(JsonElement jsonElement, int len)
{
return parseFloatArray(jsonElement, len, (float[])null);
}
public static float[] parseFloatArray(JsonElement jsonElement, int len, float[] def)
{
if (jsonElement == null)
{
return def;
}
else
{
JsonArray arr = jsonElement.getAsJsonArray();
if (arr.size() != len)
{
throw new JsonParseException("Wrong array length: " + arr.size() + ", should be: " + len + ", array: " + arr);
}
else
{
float[] floatArr = new float[arr.size()];
for (int i = 0; i < floatArr.length; ++i)
{
floatArr[i] = arr.get(i).getAsFloat();
}
return floatArr;
}
}
}
public static int[] parseIntArray(JsonElement jsonElement, int len)
{
return parseIntArray(jsonElement, len, (int[])null);
}
public static int[] parseIntArray(JsonElement jsonElement, int len, int[] def)
{
if (jsonElement == null)
{
return def;
}
else
{
JsonArray arr = jsonElement.getAsJsonArray();
if (arr.size() != len)
{
throw new JsonParseException("Wrong array length: " + arr.size() + ", should be: " + len + ", array: " + arr);
}
else
{
int[] intArr = new int[arr.size()];
for (int i = 0; i < intArr.length; ++i)
{
intArr[i] = arr.get(i).getAsInt();
}
return intArr;
}
}
}
}