将多层JSON字符串对象转换成Map对象

用什么方法可以将这个字符串转换成多层的Map对象

[{
"group": "主体",
"params": [{
"k": "品牌",
"searchable": false,
"global": true,
"options": [],
"v": "锤子(smartisan)"
}, {
"k": "型号",
"searchable": false,
"global": true,
"options": [],
"v": "坚果3"
}, {
"k": "上市年份",
"searchable": false,
"global": true,
"options": [],
"numerical": true,
"unit": "年",
"v": 2018
}]
},
{
"group": "基本信息",
"params": [{
"k": "机身颜色",
"searchable": false,
"global": false
}, {
"k": "机身重量(g)",
"searchable": false,
"global": true,
"options": [],
"numerical": true,
"unit": "g",
"v": "156"
}, {
"k": "机身材质工艺",
"searchable": false,
"global": true,
"options": [],
"v": ""
}]
},
{
"group": "操作系统",
"params": [{
"k": "操作系统",
"searchable": true,
"global": true,
"options": ["安卓", "IOS", "Windows", "功能机"],
"v": ""
}]
},
{
"group": "主芯片",
"params": [{
"k": "CPU品牌",
"searchable": true,
"global": true,
"options": ["骁龙(Snapdragon)", "麒麟"],
"v": "骁龙(Snapdragon)"
}, {
"k": "CPU型号",
"searchable": false,
"global": true,
"options": [],
"v": "骁龙625(MSM8953)"
}, {
"k": "CPU核数",
"searchable": true,
"global": true,
"options": ["一核", "二核", "四核", "六核", "八核", "十核"],
"v": "八核"
}, {
"k": "CPU频率",
"searchable": true,
"global": true,
"options": [],
"numerical": true,
"unit": "GHz",
"v": "2.0"
}]
},
{
"group": "存储",
"params": [{
"k": "内存",
"searchable": true,
"global": false,
"numerical": false,
"unit": "GB"
}, {
"k": "机身存储",
"searchable": true,
"global": false,
"numerical": false,
"unit": "GB"
}],
"empty": true
},
{
"group": "屏幕",
"params": [{
"k": "主屏幕尺寸(英寸)",
"searchable": true,
"global": true,
"options": [],
"numerical": true,
"unit": "英寸",
"v": 5.99
}, {
"k": "分辨率",
"searchable": false,
"global": true,
"options": [],
"v": "其他"
}]
},
{
"group": "摄像头",
"params": [{
"k": "前置摄像头",
"searchable": true,
"global": true,
"options": [],
"numerical": true,
"unit": "万",
"v": "800"
}, {
"k": "后置摄像头",
"searchable": true,
"global": true,
"options": [],
"numerical": true,
"unit": "万",
"v": 1300
}]
},
{
"group": "电池信息",
"params": [{
"k": "电池容量(mAh)",
"searchable": true,
"global": true,
"options": [],
"numerical": true,
"unit": "mAh",
"v": "4000"
}]
}
]

实际上是一个json数组对象里面在放了一个json数组对象
遍历两次add到map集合里就好了,注意好key是否唯一
图片说明

可以用笨办法,依次循环字节来分段,然后拼长map。