Step 1: Get an instance of ‘JsonAdapter’ to work with map data.
Moshi moshi = new Moshi.Builder().build();
JsonAdapter<Map<String, Object>> jsonAdapter = moshi.adapter(Types.newParameterizedType(Map.class, String.class, Object.class));
Step 2: Convert json to map.
Map<String, Object> map = jsonAdapter.fromJson(json);
Find the below working application.
JsonToMap.java
package com.sample.app;
import java.io.IOException;
import java.util.Map;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;
import com.squareup.moshi.Types;
public class JsonToMap {
public static void main(String args[]) throws IOException {
String json = "{\n"
+ " \"address\": {\n"
+ " \"country\": \"India\",\n"
+ " \"city\": \"Hyderabad\"\n"
+ " },\n"
+ " \"hobbies\": [\n"
+ " \"Trekking\",\n"
+ " \"Singing\"\n"
+ " ],\n"
+ " \"name\": \"Dhatri\",\n"
+ " \"id\": 1\n"
+ "}\n"
+ "";
Moshi moshi = new Moshi.Builder().build();
JsonAdapter<Map<String, Object>> jsonAdapter = moshi.adapter(Types.newParameterizedType(Map.class, String.class, Object.class));
Map<String, Object> map = jsonAdapter.fromJson(json);
for(Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + "->" + entry.getValue());
}
}
}
Output
address->{country=India, city=Hyderabad} hobbies->[Trekking, Singing] name->Dhatri id->1.0
No comments:
Post a Comment