JSON With Java
JSON With Java
This chapter covers how to encode and decode JSON objects using Java programming
language. Let's start with preparing the environment to start our programming with Java for
JSON.
Environment
Before you start with encoding and decoding JSON using Java, you need to install any of the
JSON modules available. For this tutorial we have downloaded and installed JSON.simple
and have added the location of json-simple-1.1.1.jar file to the environment variable
CLASSPATH.
JSON Java
string java.lang.String
number java.lang.Number
true|false java.lang.Boolean
null null
array java.util.List
object java.util.Map
Following is a simple example to encode a JSON object using Java JSONObject which is a
subclass of java.util.HashMap. No ordering is provided. If you need the strict ordering of
elements, use JSONValue.toJSONString ( map ) method with ordered map implementation
such as java.util.LinkedHashMap.
import org.json.simple.JSONObject;
class JsonEncodeDemo {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "foo");
obj.put("num", new Integer(100));
obj.put("balance", new Double(1000.21));
obj.put("is_vip", new Boolean(true));
System.out.print(obj);
}
}
On compiling and executing the above program the following result will be generated −
Following is another example that shows a JSON object streaming using Java JSONObject −
import org.json.simple.JSONObject;
class JsonEncodeDemo {
obj.put("name","foo");
obj.put("num",new Integer(100));
obj.put("balance",new Double(1000.21));
obj.put("is_vip",new Boolean(true));
On compiling and executing the above program, the following result is generated −
The following example makes use of JSONObject and JSONArray where JSONObject is a
java.util.Map and JSONArray is a java.util.List, so you can access them with standard
operations of Map or List.
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
class JsonDecodeDemo {
try{
Object obj = parser.parse(s);
JSONArray array = (JSONArray)obj;
s = "{}";
obj = parser.parse(s);
System.out.println(obj);
s = "[5,]";
obj = parser.parse(s);
System.out.println(obj);
s = "[5,,2]";
obj = parser.parse(s);
System.out.println(obj);
}catch(ParseException pe) {
On compiling and executing the above program, the following result will be generated −