Nov 10

Am using the following code in my GWT client application to get the string values from JSON data returned from the server. Problem is that the quotes are included in the returned string value.
How do I extract just the strings (without the quotes)?


// JSON data looks like:
// { "1": "Ben 10", "2": "Homer Simpson" }

for (String key : jsonobject.keySet())
{
   JSONValue value = jsonobject.get(key);
   System.out.println("["+value+"]");
}

// This is returning:
// ["Ben 10"]
// ["Homer Simpson"]

Problem is that the code (implicitly) uses the toString() method of JSONValue to get a string representation of the value. What you should be doing is using the isString() to both check it is a string, and return a JSONString instance. You can then use it’s stringValue() method to get the value of the string (without the quotes).

Here’s the modified code:


// JSON data looks like:
// { "1": "Ben 10", "2": "Homer Simpson" }

for (String key : jsonobject.keySet())
{
   JSONValue jsonvalue = sonobject.get(key);
   String value = jsonvalue.isString().stringValue();
   System.out.println("["+value+"]");
}

// This is returning:
// [Ben 10]
// [Homer Simpson]

written by objects \\ tags: ,


Leave a Reply

You must be logged in to post a comment.