This is the piece of code where key is of type String and value is List, but when i collecting all list elements and adding same to MultiMap object its adding as [[]], The intension of using MultiMap is due to im having same key with different values (here "$.name" is having multiple values)
List<String> header = funGetSheetColumns(wb, sSheetName);
List valueList;
MultiMap resMap = new MultiMap();
for (int j = 0; j < header.size(); j++) {
valueList = new ArrayList();
for (List data : tableRS) {
valueList.add(data.get(j));
}
resMap.add(header.get(j), valueList);
}
this is the output im getting
$.name: [[a, b, c], [a1, b1, c1], [a2, b2, c2]]
RequestBody: [[{
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}, {
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}, {
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}]]
}
but it shouldn't be inside array of array[[]]
please let me know what im missing.
I think you need something like the following ( untested ) code. I've never used MultiMap, but it looks like you just add items to it like it was a normal map, and it takes care of adding them to a collection mapped to the key.
List<String> header = funGetSheetColumns(wb, sSheetName);
MultiMap resMap = new MultiMap();
for (int j = 0; j < header.size(); j++) {
for (List data : tableRS) {
resMap.add(header.get(j),data.get(j));
}
}
That's what this link seems to indicate anyway.