[embedyt] https://www.youtube.com/watch?v=4F1d6ELxF1c[/embedyt]
Links & DependenciesAddress.javaEmployee.javaMainActivity.javaemployee.json
Library on GitHub with installation instructions:
package com.codinginflow.gsonexample; import com.google.gson.annotations.SerializedName; public class Address { @SerializedName("country") private String mCountry; @SerializedName("city") private String mCity; public Address(String country, String city) { mCountry = country; mCity = city; } }
package com.codinginflow.gsonexample; import com.google.gson.annotations.SerializedName; public class Employee { @SerializedName("first_name") private String mFirstName; @SerializedName("age") private int mAge; @SerializedName("mail") private String mMail; @SerializedName("address") private Address mAddress; public Employee(String firstName, int age, String mail, Address address) { mFirstName = firstName; mAge = age; mMail = mail; mAddress = address; } }
package com.codinginflow.gsonexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.google.gson.Gson; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Gson gson = new Gson(); /* Address address = new Address("Germany", "Berlin"); Employee employee = new Employee("John", 30, "john@gmail.com", address); String json = gson.toJson(employee); */ String json = "{\"address\":{\"city\":\"Berlin\",\"country\":\"Germany\"},\"age\":30,\"first_name\":\"John\",\"mail\":\"john@gmail.com\"}"; Employee employee = gson.fromJson(json, Employee.class); } }
{ "address": { "city": "Berlin", "country": "Germany" }, "age": 30, "first_name": "John", "mail": "john@gmail.com" }