
com.peterphi.std.guice.web.rest.service.jwt.JSONUtil Maven / Gradle / Ivy
package com.peterphi.std.guice.web.rest.service.jwt;
import org.apache.log4j.Logger;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonNumber;
import javax.json.JsonObject;
import javax.json.JsonString;
import javax.json.JsonValue;
import java.io.ByteArrayInputStream;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class JSONUtil
{
private static final Logger log = Logger.getLogger(JSONUtil.class);
public static Map parse(final byte[] value)
{
// Decode JSON from payload object
final JsonObject json = Json.createReader(new ByteArrayInputStream(value)).readObject();
return decodeMap(json);
}
public static Map parse(final String value)
{
// Decode JSON from payload object
final JsonObject json = Json.createReader(new StringReader(value)).readObject();
return decodeMap(json);
}
public static Map decodeMap(final JsonObject object)
{
return (Map) decode(object);
}
public static Object decode(JsonValue value)
{
if (log.isTraceEnabled())
log.trace("Decode " + value.getValueType() + " - " + value);
switch (value.getValueType())
{
case ARRAY:
final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy