java调用json转map_Java 把json对象转成map键值对的方法

时间:2025-05-13 18:29:40

Java 把json对象转成map键值对的方法

发布于 2020-8-18|

复制链接

摘记: 工具方法: 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据maven 引用jar包版本:

```java

json

..

工具方法: 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据maven 引用jar包版本:

```java

json

20090211

```

工具类:

```java

package ;

//import ;

import .slf4j.Slf4j;

import ;

import .*;

import .*;

/**

* Created by BF100 on 2018/4/12.

*/

@Slf4j

public class TestByCaoxNew {

@Test

public void test1(){

try{

int a = 1/0;

}catch (Exception e){

("call Exception :{}",e);

();

}

("come on !!!");

}

@Test

public void test2() throws Exception{

String str = "{\"result\":\"success\",\"message\":\"成功!\"}";

String str2 = "{result:success,message:成功}";

// JSONObject jsStr = (str);

// (jsStr);

JSONObject obj = new JSONObject(str);

Stack stObj = new Stack();

(obj);

Map resultMap =new HashMap();

JsonToMap(stObj,resultMap);

Set keys = ();

for (String key:keys){

(key+":"+(key));

}

}

/**

* @Author:sks

* @Description:把json对象数据存储在map以键值对的形式存储,只存储叶节点

* @Date:

*/

private static void JsonToMap(Stack stObj, Map resultMap) throws Exception {

if(stObj == null && () == null){

return ;

}

JSONObject json = ();

Iterator it = ();

while(()){

String key = (String) ();

//得到value的值

Object value = (key);

//(value);

if(value instanceof JSONObject)

{

((JSONObject)value);

//递归遍历

JsonToMap(stObj,resultMap);

}

else {

(key, value);

}

}

}

@Test

public void test3() throws Exception{

String jsonStr ="{responseHeader:{status:0,QTime:0},spellcheck:{suggestions:{中国:{numFound:9,startOffset:0,endOffset:2," +

"suggestion:[中国工商银行, 中国人民, 中国国际, 中国农业, 中国市场, 中国经济, 中国人, 中国广播, 中国文化]}}," +

"collations:{collation:中国工商银行}}}";

JSONObject obj = new JSONObject(jsonStr);

Stack stObj = new Stack();

(obj);

Map resultMap =new HashMap();

JsonToMap(stObj,resultMap);

Set keys = ();

for (String key:keys){

(key+":"+(key));

}

}

}

```