Uses of JSON and GSON

Why do we use JSON?

The JSON format is syntactically similar to the code for creating JavaScript objects. Because of this, a JavaScript program can easily convert JSON data into JavaScript objects. Since the format is text only, JSON data can easily be sent between computers and used by any programming language. 

  • It is used while writing JavaScript-based applications that include browser extensions and websites.
  • The JSON format is used for serializing and transmitting structured data over a network connection.
  • It is primarily used to transmit data between a server and web applications.
  • Web services and APIs use JSON format to provide public data.
  • It can be used with modern programming languages.

JSON is a data format that is human-readable and supported by a wide variety of languages.

An example of JSON encoded data:

{
"name":"Amit",
"age":25,
"interests":["singing", "reading", "playing cricket"],
"favorites":{
             "color":"red",
             "cricketer":"Virat, Dhoni, Rohit"
            }
}

Individual examples of XML and JSON :

JSON

{
 "company": w3wiki,
 "established": "2007",
 "About": Best platform to learn DSA
}

XML

<GFG>
    <company>w3wiki</company>
    <established>2007</established>
    <About> Best platform to learn DSA</About>
</GFG>

Checkout JSON Parsing in Android to understand a few important functions related to JSON in Android.

Why do we use GSON?

  • It provides simple toJson() and fromJson() methods to convert Java objects to JSON and vice-versa
  • It allows pre-existing unmodifiable objects to be converted to and from JSON
  • It also provides extensive support for Java Generics
  • It allows custom representations for objects
  • GSON supports arbitrarily complex objects (with deep inheritance hierarchies and extensive use of generic types)
  • GSON is a standardized library that is managed by Google
  • It is a reliable, fast, and efficient extension of the Java standard library.
  • This library is highly optimized

How to Download GSON in an Android Application

Gradle:

dependencies {
    implementation 'com.google.code.gson:gson:2.9.1'
}

Maven:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.9.1</version>
</dependency>

Full GSON Hello World Example

You can copy and paste this example into your IDE as long as you have GSON installed and running

Java




import com.google.gson.Gson;
  
public class GsonHelloWorld {
   public static void main(String[] args) {
       // init class
       Place place = new Place();
       place.setName("World");
  
       Human human = new Human();
       human.setMessage("Hi");
       human.setPlace(place);
  
       // convert to json
       Gson gson = new Gson();
       String jsonString = gson.toJson(human);
       // print "json {"message":"Hi","place":{"name":"World"}}"
       System.out.println("json " + jsonString);
  
       // convert from json
       Human newHuman = gson.fromJson(jsonString, Human.class);
       newHuman.say(); // print "Hi , World!"
   }
  
   private static class Human {
       private String message;
       private Place place;
  
       public String getMessage() {
           return message;
       }
  
       public void setMessage(String message) {
           this.message = message;
       }
  
       public Place getPlace() {
           return place;
       }
  
       public void setPlace(Place place) {
           this.place = place;
       }
  
       public void say() {
           System.out.println();
           System.out.println(getMessage() + " , " + getPlace().getName() + "!");
       }
   }
  
   private static class Place {
       private String name;
  
       public String getName() {
           return name;
       }
  
       public void setName(String name) {
           this.name = name;
       }
   }
}




Difference Between GSON and JSON in Android

JSON stands for JavaScript Object Notation. It is a text format for storing and transporting data. JSON is “self-describing” and easy to understand. It is a lightweight data-interchange format. JSON is used to send data between computers as it is language-independent. Code for reading and generating JSON exists in many programming languages. The JSON format was originally specified by Douglas Crockford.

On the other hand, GSON is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. GSON can work with arbitrary Java objects including pre-existing objects that you do not have source code of. It is an open-source library developed by Google.

Note: GSON is not an officially supported Google product.

Similar Reads

Uses of JSON and GSON

Why do we use JSON?...