Example usage for com.google.gwt.json.client JSONValue isString

List of usage examples for com.google.gwt.json.client JSONValue isString

Introduction

In this page you can find the example usage for com.google.gwt.json.client JSONValue isString.

Prototype

public JSONString isString() 

Source Link

Document

Returns a non-null reference if this JSONValue is really a JSONString.

Usage

From source file:org.emfjson.gwt.map.Values.java

License:Open Source License

public void setOrAdd(EObject owner, EAttribute attribute, JSONValue value) {
    JSONString stringValue = value.isString();
    if (stringValue != null) {
        EObjects.setOrAdd(owner, attribute, stringValue.stringValue());
    }//from www  . ja  v a 2s .c  o m

    JSONBoolean booleanValue = value.isBoolean();
    if (booleanValue != null) {
        EObjects.setOrAdd(owner, attribute, booleanValue.toString());
    }

    JSONNumber numberValue = value.isNumber();
    if (numberValue != null) {
        EObjects.setOrAdd(owner, attribute, numberValue.toString());
    }
}

From source file:org.emfjson.gwt.map.ValueSerializer.java

License:Open Source License

public void setOrAdd(EObject owner, EAttribute attribute, JSONValue value) {
    String asString = null;/*  www  .  ja va2  s  .  c  o m*/
    JSONString stringValue = value.isString();
    if (stringValue != null) {
        asString = stringValue.stringValue();
    }

    JSONBoolean booleanValue = value.isBoolean();
    if (booleanValue != null) {
        asString = booleanValue.toString();
    }

    JSONNumber numberValue = value.isNumber();
    if (numberValue != null) {
        asString = numberValue.toString();
    }

    if (asString != null) {
        Object converted = EcoreUtil.createFromString(attribute.getEAttributeType(), asString);
        EObjects.setOrAdd(owner, attribute, converted);
    }
}

From source file:org.freemedsoftware.gwt.client.JsonUtil.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public static synchronized Object shoehornJson(JSONValue r, String t) {
    if (r == null || r.toString().equals("null"))
        return null;
    if (t.equals("HashMap<String,HashMap<String,String>[]>")) {
        HashMap<String, HashMap<String, String>[]> oResult = new HashMap<String, HashMap<String, String>[]>();
        JSONObject oA = r.isObject();//from  www .  j av  a 2s .  com
        if (oA != null) {
            Iterator<String> outerIter = oA.keySet().iterator();
            while (outerIter.hasNext()) {
                String innerKey = outerIter.next();
                List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>();
                JSONArray a = oA.get(innerKey).isArray();
                for (int oIter = 0; oIter < a.size(); oIter++) {
                    HashMap<String, String> item = new HashMap<String, String>();
                    JSONObject obj = a.get(oIter).isObject();
                    Iterator<String> iter = obj.keySet().iterator();
                    while (iter.hasNext()) {
                        String k = iter.next();
                        if (obj.get(k).isString() != null) {
                            item.put(k, obj.get(k).isString().stringValue());
                        }
                    }
                    result.add(oIter, item);
                }
                oResult.put(innerKey, (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0]));
            }
        }
        return (HashMap<String, HashMap<String, String>[]>) oResult;
    }
    if (t.equals("HashMap<String,String>[]")) {
        List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>();
        JSONArray a = r.isArray();
        for (int oIter = 0; oIter < a.size(); oIter++) {
            HashMap<String, String> item = new HashMap<String, String>();
            JSONObject obj = a.get(oIter).isObject();
            Iterator<String> iter = obj.keySet().iterator();
            while (iter.hasNext()) {
                String k = iter.next();
                if (obj.get(k).isString() != null) {
                    item.put(k, obj.get(k).isString().stringValue());
                }
            }
            result.add(oIter, item);
        }
        return (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0]);
    }
    if (t.equals("HashMap<String,Object>[]")) {
        List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>();
        JSONArray a = r.isArray();
        for (int oIter = 0; oIter < a.size(); oIter++) {
            HashMap<String, Object> item = new HashMap<String, Object>();
            JSONObject obj = a.get(oIter).isObject();
            Iterator<String> iter = obj.keySet().iterator();
            while (iter.hasNext()) {
                String k = iter.next();
                if (obj.get(k).isString() != null) {
                    item.put(k, obj.get(k));
                }
            }
            result.add(oIter, item);
        }
        return (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0]);
    }
    if (t.equals("HashMap<String,String>[][]")) {
        List<HashMap<?, ?>[]> result = new ArrayList<HashMap<?, ?>[]>();
        JSONArray oArray = r.isArray();
        for (int wayOuterIter = 0; wayOuterIter < oArray.size(); wayOuterIter++) {
            List<HashMap<?, ?>> innerResult = new ArrayList<HashMap<?, ?>>();
            JSONArray a = r.isArray();
            for (int oIter = 0; oIter < a.size(); oIter++) {
                HashMap<String, String> item = new HashMap<String, String>();
                JSONObject obj = a.get(oIter).isObject();
                Iterator<String> iter = obj.keySet().iterator();
                while (iter.hasNext()) {
                    String k = iter.next();
                    if (obj.get(k).isString() != null) {
                        item.put(k, obj.get(k).isString().stringValue());
                    }
                }
                innerResult.add(oIter, item);
            }
            result.add(wayOuterIter, innerResult.toArray(new HashMap<?, ?>[0]));
        }
        return (HashMap<String, String>[][]) result.toArray(new HashMap<?, ?>[0][0]);
    }
    if (t.equals("HashMap<String,String>")) {
        JSONObject obj = r.isObject();
        HashMap<String, String> result = new HashMap<String, String>();
        Iterator<String> iter = obj.keySet().iterator();
        while (iter.hasNext()) {
            String k = iter.next();
            if (obj.get(k).isString() != null) {
                result.put(k, obj.get(k).isString().stringValue());
            }
        }
        return (HashMap<String, String>) result;
    }
    if (t.equals("HashMap<String,Object>")) {
        JSONObject obj = r.isObject();
        HashMap<String, Object> result = new HashMap<String, Object>();
        Iterator<String> iter = obj.keySet().iterator();
        while (iter.hasNext()) {
            String k = iter.next();
            if (obj.get(k) != null) {
                result.put(k, obj.get(k));
            }
        }
        return (HashMap<String, Object>) result;
    }
    if (t.equals("HashMap<String,HashMap<String,String>>")) {
        HashMap<String, HashMap<String, String>> oResult = new HashMap<String, HashMap<String, String>>();
        JSONObject oA = r.isObject();
        if (oA != null) {
            Iterator<String> outerIter = oA.keySet().iterator();
            while (outerIter.hasNext()) {
                String innerKey = outerIter.next();
                HashMap<String, String> item = new HashMap<String, String>();
                JSONObject obj = oA.get(innerKey).isObject();
                Iterator<String> iter = obj.keySet().iterator();
                while (iter.hasNext()) {
                    String k = iter.next();
                    if (obj.get(k).isString() != null) {
                        item.put(k, obj.get(k).isString().stringValue());
                    }
                }
                oResult.put(innerKey, (HashMap<String, String>) item);
            }
        }
        return (HashMap<String, HashMap<String, String>>) oResult;
    }
    if (t.equals("HashMap<String,HashMap<String,Integer>>")) {
        HashMap<String, HashMap<String, Integer>> oResult = new HashMap<String, HashMap<String, Integer>>();
        JSONObject oA = r.isObject();
        if (oA != null) {
            Iterator<String> outerIter = oA.keySet().iterator();
            while (outerIter.hasNext()) {
                String innerKey = outerIter.next();
                HashMap<String, Integer> item = new HashMap<String, Integer>();
                JSONObject obj = oA.get(innerKey).isObject();
                Iterator<String> iter = obj.keySet().iterator();
                while (iter.hasNext()) {
                    String k = iter.next();
                    if (obj.get(k).isNumber() != null) {
                        item.put(k, (int) obj.get(k).isNumber().doubleValue());
                    }
                }
                oResult.put(innerKey, (HashMap<String, Integer>) item);
            }
        }
        return (HashMap<String, HashMap<String, Integer>>) oResult;
    }
    if (t.equals("HashMap<Integer,String>")) {
        JSONObject obj = r.isObject();
        HashMap<Integer, String> result = new HashMap<Integer, String>();
        Iterator<String> iter = obj.keySet().iterator();
        while (iter.hasNext()) {
            String k = iter.next();
            if (obj.get(k).isString() != null) {
                result.put(Integer.valueOf(k), obj.get(k).isString().stringValue());
            }
        }
        return (HashMap<Integer, String>) result;
    }
    if (t.equals("HashMap<String,Integer>")) {
        JSONObject obj = r.isObject();
        HashMap<String, Integer> result = new HashMap<String, Integer>();
        Iterator<String> iter = obj.keySet().iterator();
        while (iter.hasNext()) {
            String k = iter.next();
            if (obj.get(k).isNumber() != null) {
                result.put(k, (int) obj.get(k).isNumber().doubleValue());
            }
        }
        return (HashMap<String, Integer>) result;
    }
    if (t.equals("String[][]")) {
        JSONArray outer = r.isArray();
        List<String[]> x = new ArrayList<String[]>();
        if (r.isArray() != null) {
            for (int oIter = 0; oIter < outer.size(); oIter++) {
                if (outer.get(oIter).isArray() != null) {
                    JSONArray inner = outer.get(oIter).isArray();
                    List<String> xI = new ArrayList<String>();
                    if (inner.isArray() != null) {
                        for (int iIter = 0; iIter < inner.size(); iIter++) {
                            if (inner.get(iIter).isString() != null) {
                                xI.add(iIter, inner.get(iIter).isString().stringValue());
                            } else if (inner.get(iIter).isNumber() != null) {
                                xI.add(iIter, inner.get(iIter).isNumber().toString());
                            }
                        }
                    }
                    x.add((String[]) xI.toArray(new String[0]));
                }
            }
            return (String[][]) x.toArray(new String[0][0]);
        }
    }
    if (t.equals("String[]")) {
        JSONArray a = r.isArray();
        List<String> x = new ArrayList<String>();
        if (r.isArray() != null) {
            for (int iter = 0; iter < a.size(); iter++) {
                if (a.get(iter).isString() != null) {
                    x.add(iter, a.get(iter).isString().stringValue());
                }
            }
        }
        return (String[]) x.toArray(new String[0]);
    }
    if (t.compareToIgnoreCase("HashMap<String,String[]>") == 0) {
        HashMap<String, String[]> oResult = new HashMap<String, String[]>();
        JSONObject oA = r.isObject();
        if (oA != null) {
            Iterator<String> outerIter = oA.keySet().iterator();
            while (outerIter.hasNext()) {
                String innerKey = outerIter.next();
                JSONArray a = oA.get(innerKey).isArray();
                String[] x = new String[a.size()];
                if (a.isArray() != null) {
                    for (int iter = 0; iter < a.size(); iter++) {
                        if (a.get(iter).isString() != null) {
                            // x.add(iter,
                            // a.get(iter).isString().stringValue());
                            x[iter] = a.get(iter).isString().stringValue();
                        }
                    }
                }
                oResult.put(innerKey, x);
            }
        }
        return (HashMap<String, String[]>) oResult;
    }

    if (t.compareToIgnoreCase("HashMap<String,List>") == 0) {
        HashMap<String, List> oResult = new HashMap<String, List>();
        JSONObject oA = r.isObject();
        if (oA != null) {
            Iterator<String> outerIter = oA.keySet().iterator();
            while (outerIter.hasNext()) {
                String innerKey = outerIter.next();
                JSONArray a = oA.get(innerKey).isArray();
                List x = new ArrayList();
                if (a.isArray() != null) {
                    for (int iter = 0; iter < a.size(); iter++) {
                        if (a.get(iter).isString() != null) {
                            // x.add(iter,
                            // a.get(iter).isString().stringValue());
                            x.add(a.get(iter).isString().stringValue());
                        }
                    }
                }
                oResult.put(innerKey, x);
            }
        }
        return (HashMap<String, List>) oResult;
    }
    if (t.compareToIgnoreCase("String") == 0) {
        if (r.isString() != null) {
            return (String) r.isString().stringValue();
        }
    }
    if (t.compareToIgnoreCase("Integer") == 0) {
        if (r.isNumber() != null) {
            return (Integer) new Integer((int) r.isNumber().doubleValue());
        }
    }
    if (t.compareToIgnoreCase("Float") == 0) {
        if (r.isNumber() != null) {
            return (Float) new Float((float) r.isNumber().doubleValue());
        }
    }
    if (t.compareToIgnoreCase("Boolean") == 0) {
        if (r.isBoolean() != null) {
            return (Boolean) r.isBoolean().booleanValue();
        }
    }

    // If anything else bombs out...
    GWT.log("Could not parse type " + t, null);
    return null;
}

From source file:org.geomajas.gwt2.client.service.JsonService.java

License:Open Source License

/**
 * Get a string value from a {@link JSONObject}.
 * /*from w w  w.java  2  s.c  o  m*/
 * @param jsonObject The object to get the key value from.
 * @param key The name of the key to search the value for.
 * @return Returns the value for the key in the object or null.
 * @throws JSONException Thrown in case the key could not be found in the JSON object.
 */
public static String getStringValue(JSONObject jsonObject, String key) throws JSONException {
    checkArguments(jsonObject, key);
    JSONValue value = jsonObject.get(key);
    if (value != null) {
        if (value.isString() != null) {
            return ((JSONString) value).stringValue();
        } else {
            String valueString = value.toString();
            if (!"null".equals(valueString)) {
                if (valueString.charAt(0) == '"') {
                    return valueString.substring(1, valueString.length() - 1);
                }
                return valueString;
            }
        }
    }
    return null;
}

From source file:org.geomajas.gwt2.client.service.JsonService.java

License:Open Source License

/**
 * Get a date value from a {@link JSONObject}.
 * //from ww w.j  a va2 s.co  m
 * @param jsonObject The object to get the key value from.
 * @param key The name of the key to search the value for.
 * @return Returns the value for the key in the object or null.
 * @throws JSONException Thrown in case the key could not be found in the JSON object, or if the date could not be
 *         parsed correctly.
 */
public static Date getDateValue(JSONObject jsonObject, String key) throws JSONException {
    checkArguments(jsonObject, key);
    JSONValue value = jsonObject.get(key);
    if (value != null && value.isString() != null) {
        String dateString = getStringValue(jsonObject, key);
        if (dateString.charAt(0) == '"') {
            dateString = dateString.substring(1);
        }
        if (dateString.endsWith("\"")) {
            dateString = dateString.substring(0, dateString.length() - 1);
        }
        try {
            return DEFAULT_DATEFORMAT.parse(dateString);
        } catch (Exception e) {
            try {
                long millis = Long.parseLong(dateString);
                return new Date(millis);
            } catch (Exception e2) {
                throw new JSONException("Could not parse the date for key '" + key + "'", e);
            }
        }
    }
    return null;
}

From source file:org.gwm.splice.client.service.json.JSONSerializer.java

License:Apache License

private Object convertValue(JSONValue val) {
    if (val.isBoolean() != null) {
        return new Boolean(val.isBoolean().booleanValue());
    } else if (val.isNumber() != null) {
        return new Double(val.isNumber().getValue());
    } else if (val.isString() != null) {
        return val.isString().stringValue();
    } else if (val.isObject() != null) {
        Attributes attrs = new Attributes();
        convertAttributes(val.isObject(), attrs);
        return attrs;
    } else if (val.isArray() != null) {
        JSONArray ja = val.isArray();
        Object[] array = new Object[ja.size()];
        for (int i = 0; i < ja.size(); i++) {
            array[i] = convertValue(ja.get(i));
        }/*from  w w  w.j av  a2 s .c  om*/
        return array;
    }
    return null;
}

From source file:org.gwt.json.serialization.client.common.JsonDateSerializer.java

License:Apache License

@Override
public Date deSerialize(JSONValue jsonObj) throws JSONException {
    return jsonObj == null ? null
            : (jsonObj.isString() == null ? null
                    : DateTimeFormat.getFormat(datePattern).parseStrict(jsonObj.isString().stringValue()));
}

From source file:org.gwt.json.serialization.client.common.JsonStringSerializer.java

License:Apache License

public String deSerialize(JSONValue jsonObj) throws JSONException {
    return jsonObj == null ? null : (jsonObj.isString() == null ? null : jsonObj.isString().stringValue());
}

From source file:org.gwt.json.serialization.client.primitives.JsonCharacterSerializer.java

License:Apache License

@Override
public Character deSerialize(JSONValue jsonObj, boolean forcePrimitiveValue) throws JSONException {
    Character defaultValue = forcePrimitiveValue ? (char) 0 : null;
    return jsonObj == null ? defaultValue
            : (jsonObj.isString() == null ? defaultValue : jsonObj.isString().stringValue().charAt(0));
}

From source file:org.gwt.json.serialization.client.utils.JsonHashMapSerializer.java

License:Apache License

@Override
public JSONValue serialize(HashMap obj, GenericType[] genericTypes) {
    if (obj == null)
        return JSONNull.getInstance();
    JSONObject jsonObject = new JSONObject();
    GenericType keyType = genericTypes[0];
    GenericType valueType = genericTypes[1];

    for (Object entry : obj.entrySet()) {
        Map.Entry objAsEntry = (Map.Entry) entry;
        JSONValue key = serializer.getSerializerForType(keyType.getName()).serialize(objAsEntry.getKey(),
                keyType.getTypes());/*from   w  w w  . j  av  a2 s .c o  m*/
        JSONValue value = serializer.getSerializerForType(valueType.getName()).serialize(objAsEntry.getValue(),
                valueType.getTypes());

        //if key is a String, everything is just perfect. But if not, hm... let's use key.toString() for now
        jsonObject.put(key.isString() != null ? key.isString().stringValue() : key.toString(), value);
    }
    return jsonObject;
}