Step 1: Get an instance of JsonAdapter.
Moshi moshi = new Moshi.Builder().build();
JsonAdapter<Map<String, Object>> jsonAdapter = moshi.adapter(Types.newParameterizedType(Map.class, String.class, Object.class));
Step 2: Convert the map to json.
String json = jsonAdapter.indent(" ").toJson(employeeMap);
Find the below working application.
MapToJson.java
package com.sample.app;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;
import com.squareup.moshi.Types;
public class MapToJson {
public static void main(String args[]) {
Map<String, Object> employeeMap = new HashMap<>();
employeeMap.put("id", 1);
employeeMap.put("name", "Dhatri");
employeeMap.put("hobbies", Arrays.asList("Trekking", "Singing"));
Map<String, Object> addressMap = new HashMap<>();
addressMap.put("city", "Hyderabad");
addressMap.put("country", "India");
employeeMap.put("address", addressMap);
Moshi moshi = new Moshi.Builder().build();
JsonAdapter<Map<String, Object>> jsonAdapter = moshi.adapter(Types.newParameterizedType(Map.class, String.class, Object.class));
String json = jsonAdapter.indent(" ").toJson(employeeMap);
System.out.println(json);
}
}
Output
{
"address": {
"country": "India",
"city": "Hyderabad"
},
"hobbies": [
"Trekking",
"Singing"
],
"name": "Dhatri",
"id": 1
}
No comments:
Post a Comment