json字符串转换为多级Map -list-map的形式

网上找了好多方法都是一级的,由于需要多级map,于是做如下封装

public static Map<String, Object> parseJSON2Map(String jsonStr){

//最外层解析

if(jsonStr!=null&&jsonStr.startsWith("{")&&jsonStr.endsWith("}")){

Map<String, Object> map = new HashMap<String, Object>();

JSONObject json = JSONObject.fromObject(jsonStr);

for(Object k : json.keySet()){

Object v = json.get(k);

//如果内层还是数组的话,继续解析

if(v instanceof JSONArray){

List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();

Iterator<JSONObject> it = ((JSONArray)v).iterator();

while(it.hasNext()){

JSONObject json2 = it.next();

list.add(parseJSON2Map(json2.toString()));

}

map.put(k.toString(), list);

} else {

Map<String, Object> m = parseJSON2Map(v.toString());

if(m==null)

map.put(k.toString(), v);

else

map.put(k.toString(), m);

}

}

return map;

}else{

return null;

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 11:46:18

json字符串转换为多级Map -list-map的形式的相关文章

Json字符串转换为java对象

1.  Json字符串转换为java对象 1.1.  Json字符串转换为java bean Json2Bean.java package jackson; import java.io.IOException; import org.codehaus.jackson.map.ObjectMapper; public class Json2Bean { public static void main(String[] args) throws IOException{ String jsonSt

js 将json字符串转换为json兑现

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man"

使用eval()将json字符串转换为对象要多加一个小括号

使用eval()将json字符串转换为对象要多加一个小括号:关于eval()函数的具体用法这里就不多介绍了,具体可以参阅javascript的eval()方法一章节,下面就介绍一下为什么使用eval()函数将json格式字符串转换为对象的时候,需要多嵌套一层小括号,下面就介绍一下它的原因,希望能够对需要的朋友带来帮助.先看一段转换代码: var jsonStr='{"webName":"蚂蚁部落","webAddress":"青岛市南区

json字符串转换为json对象

json字符串转换为json对象         var str = '{ "name": "cxh", "sex": "man" }';         1.使用eval()方法                 eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象.必须把文本包围在括号中,这样才能避免语法错误. var obj = eval('(' + str

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

js 将json字符串转换为json对象的方法解析

例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man" }; 一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JS

【荐】使用eval()、new Function()将JSON字符串转换为JSON对象

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明. 这里首先

js 将json字符串转换为json对象

要引入:jquery-json-2.4.js 在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "

js 将json字符串转换为json对象或json对象转换成json字符串

JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man" }; 一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JSON对象