字符串格式如下,
[{"FirstIndexId":"901","SecondIndexId":"长春","SecondIndexName":"2G基站","IndexArriveValue":""},{"FirstIndexId":"901","SecondIndexId":"长春","SecondIndexName":"2G基站","IndexArriveValue":""}]
前台通过ajax JSON.stringify得到的字符串
String格式。
首先使用for循环获得每一个json然后使用map函数获取对应键值对
引用第三方json解析包,层层解析;
gson、fastjson、jackson等
解析后格式有JSONObject,JSONArray两种,分别对应键值对和数组。
调用其parseObject、parseArray方法
或者定义javabean和上面的结构一一对应,调用其parse方法
调用主体有JSON、JSONArray、JSONObject
List> listObjectFir = (List>) JSONArray.parse(strArr);
strArr就是你的json字符串
JSON.parse(str)转换为数组对象,之后for循环遍历,先怎么操作怎么操作
我想强调一下,这个是String格式。
String msg="[{"FirstIndexId":"901","SecondIndexId":"长春","SecondIndexName":"2G基站","IndexArriveValue":""},{"FirstIndexId":"901","SecondIndexId":"长春","SecondIndexName":"2G基站","IndexArriveValue":""}]";
JSONArray resultJsonArray = JSONArray.fromObject(msg);
for (int i = 0; i < resultJsonArray.size(); i++) {
JSONObject row = (JSONObject)resultJsonArray.get(i);
String FirstIndexId = (String)row.get("FirstIndexId");
}
public void changeToMap(){
List> mapList = new ArrayList>();
String str = "[{\"FirstIndexId\":\"901\",\"SecondIndexId\":\"长春\",\"SecondIndexName\":\"2G基站\",\"IndexArriveValue\":\"\"},{\"FirstIndexId\":\"901\",\"SecondIndexId\":\"长春\",\"SecondIndexName\":\"2G基站\",\"IndexArriveValue\":\"\"}]";
JSONArray json = JSONArray.parseArray(str);
if(json!=null&&json.size()>0){
for(int i=0;i Map map = new HashMap();
map = (Map)json.get(i);
mapList.add(map);
}
}
System.out.println(mapList.toString());
}
fastjson可以的