简单json 转换为 map对象

Posted 三豪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单json 转换为 map对象相关的知识,希望对你有一定的参考价值。

1.如果转换的是Map、或者是简单的对象

package com.gc.action;

import java.util.Map;

import net.sf.json.JSONObject;

/**
* 1.json string 转换为 map
* 2.json string 转换为 对象
* @author zhangtengda
*
*/
public class JsonUtils {
public static void main(String[] args) {
String jsonStr = "{"status":"0","data":{"name":"tom","age":18}}";

// ================================
// 1.如果是拿出来最外层的 map
Map<Object, Object> result = jsonToMap(jsonStr);
System.out.println(result.get("status"));
System.out.println(result.get("data"));

// 2.如果进步一拿到内层的 map
Map<Object, Object> data = jsonToMap(result.get("data"));
System.out.println(data.get("name"));
System.out.println(data.get("age"));
// ================================

Long beginTime = System.currentTimeMillis();
// 3.转换为对象
String personStr = "{"id":12,"name":"mary"}";
Person person = jsonToBean(personStr, Person.class);
System.out.println(person);

System.out.println("耗时:" +( System.currentTimeMillis() - beginTime));

}

/**
* json string 转换为 map 对象
* @param jsonObj
* @return
*/
public static Map<Object, Object> jsonToMap(Object jsonObj) {
JSONObject jsonObject = JSONObject.fromObject(jsonObj);
Map<Object, Object> map = (Map)jsonObject;
return map;
}

/**json string 转换为 对象
* @param jsonObj
* @param type
* @return
*/
public static <T> T jsonToBean(Object jsonObj, Class<T> type) {
JSONObject jsonObject = JSONObject.fromObject(jsonObj);
T obj =(T)JSONObject.toBean(jsonObject, type);
return obj;
}

}

使用到的 Person.java

package com.gc.action;

public class Person{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(int id, String name) {
super();
this.id = id;
this.name = name;
}

public Person() {
}

@Override
public String toString() {
return "id : " + id + " name : " + name;
}
}

maven 依赖

<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

注意这个只是进行简单的 json 和 string 之间的互转,如果是进行复杂对象的 json 转换这个就无法行得通了,需要使用 jackson 工具包来实现了,它可以实现复杂对象的转换,包括对象里面有 list 都可以的
---------------------

原文:https://blog.csdn.net/tengdazhang770960436/article/details/50393343















































































以上是关于简单json 转换为 map对象的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中 Map转换实体类对象简单实现 JSON

Java+map对象转换为json格式对象

在 Javascript 中将 Map 转换为 JSON 对象

转换复杂的JSON对象为 Map对象

Java中如何把字符串转换成map

SpringBoot中读取JSON文件信息并转换为Map对象