分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

简单json 转换为 map、对象

发布时间:2023-09-06 02:30责任编辑:苏小强关键词:jsjson

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、对象

原文地址:https://www.cnblogs.com/sanhao/p/10276183.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved