Nisha
Nisha

Reputation: 31

Create a java map using json string

{
 "userType": "I",
 "classList": [
   {
     "id": 1,
     "name": "c1"
   },
   {
     "id": 2,
     "name": "c2"
   },
   {
     "id": 3,
     "name": "c3"
   }
 ]
}

How to declare and put values to the above sample example?

Upvotes: 2

Views: 1017

Answers (3)

Kushan
Kushan

Reputation: 10695

Use jackson library,

HashMap<String,Object> map =
    new ObjectMapper().readValue(jsonString, HashMap.class);

Use this dependency for maven,

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.7</version>
</dependency>

Upvotes: 2

Ke Li
Ke Li

Reputation: 952

You need to create a Map, and put a map and List into the first Map:

    public Map<String, Object> createMap() {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("userType", "I");
    List<Map<String, Object>> classList = new ArrayList<Map<String, Object>>();
    Map<String, Object> class1 = new HashMap<String, Object>();
    class1.put("id", 1);
    class1.put("name", "c1");
    classList.add(class1);

    Map<String, Object> class2 = new HashMap<String, Object>();
    class1.put("id", 2);
    class1.put("name", "c2");
    classList.add(class2);

    Map<String, Object> class3 = new HashMap<String, Object>();
    class1.put("id", 3);
    class1.put("name", "c3");
    classList.add(class3);

    map.put("classList", classList);
    return map;
}

Upvotes: 0

CleitonCardoso
CleitonCardoso

Reputation: 86

More here, do your researchs Create Map in Java.

Map<String,Object> map = new LinkedHashMap<String,Object>();
map.put("id",3);
map.put("name","c2");

Upvotes: 0

Related Questions