Showing posts with label json. Show all posts
Showing posts with label json. Show all posts

Saturday, May 25, 2013

JSON

Here's an example that shows how to play around with JSON objects in java. There are a bunch of JSON libraries. This example users json.org.

checkout the code here

package org.megha.blog.example.json;

import org.json.JSONArray;
import org.json.JSONObject;

/**
 * Play around with {@code json.org}'s JSON library.
 * To run this, you import the library from json.org.
 *
 * @author megha birmiwal
 */
public class JsonPrinter {
       
        public static void main(String[] args) {
               
                // create a json object from a json string
                String responseData = "{'name':'Robert','interests':['Swimming','Music',123],"
                    + "'address':{'city': 'Bangalore'}}";
                JSONObject jsonObject = new JSONObject(responseData);
               
                // convert back to "pretty-printed" string
                System.out.println(jsonObject.toString(4));

                // extract values from a json object
                String name = jsonObject.getString("name");
                System.out.println(name);
               
                JSONArray jsonArray = jsonObject.getJSONArray("interests");
                System.out.println(jsonArray.toString(2));
               
                // json array has .length() and .getXXX(index) methods to get elements
                // also has a .join() to join values into a string with the // specified separator
                String interests = jsonArray.join(" ");
                System.out.println(interests);
               
                JSONObject address = jsonObject.getJSONObject("address");
                String addressCity = address.getString("city");
                System.out.println(addressCity);

                // adding entries is trivial. just call put()
                address.put("country", "India");

                // difference between pretty-printed and condensed outputs
                System.out.println(address.toString());
                System.out.println(address.toString(2));

                // note that it prints address with the added country
                System.out.println(jsonObject.toString(4));
        }
}