简单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、对象的更多相关文章
- json转换为map
// json转换为map public static Map parserToMap(String s) { Map map = new HashMap(); JSONObject json = J ...
- javabean转换为map对象
在调用第三方接口发现对方使用map进行接收(不包括秘钥等),将bean类属性转换为map,直接贴代码: /** * JavaBean对象转化成Map对象 * * @param javaBean */p ...
- JAVA中json转换为集合(对象)之间的相互转换
字符串转换为json对象: String strResult = RestUtil.getRestContent(url+"/service/peccancy/myOrderList&quo ...
- json转换为tree对象(递归)
const newTeam = function (data, parentId) { 2 let itemArr = []; 3 for (let i = 0; i < data.length ...
- XML转换为Map通用算法实现 Java版本(Stax实现)
目前项目中需要将XML转换为Map,下面给出了自己的代码实现. 后续将为大家提供Dom版本的实现. 请各路大神给予各种优良实现. 场景: 在项目中需要解析XML文本字符串,需要将XML文本字符串映射为 ...
- json字符串和对象的相互转化
json在代码中是经常用到的,在此总结一下json字符串和对象及数组之间的相互转化: 1.javascript函数方式: <1> JSON.stringify :把一个对象转换成json字 ...
- c#将前端传来的Json解析成对象
描述:因工作中需要将C#中的Json字符串转换为对象,对此记录下. 解决办法: 1.前端传过来的Json字符串,OrderAppModuleJson即前端传递到后端的Json字符串 string st ...
- JSON:JavaScript 对象表示法
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- JSon_零基础_003_将Map集合对象转换为JSon格式的对象字符串,返回给界面
将Map集合对象转换为JSon格式的对象字符串,返回给界面 需导入的jar包: 编写servlet: package com.west.webcourse.servlet; import java.i ...
随机推荐
- AcWing 10. 有依赖的背包问题
#include <cstring> #include <iostream> #include <algorithm> using namespace std; ; ...
- 如何通过给MM修电脑培养感情
文章来自网络 在修之前,向MM反复声明,这电脑故障是有硬件和软件之分的,如果是硬件故障,例如显卡风扇不转了,显示器连线老化,显示器分辨率超出显示器指标,等等都会导致黑屏啊,这个我不回家用专门的工具是修 ...
- Selenium3+python自动化010-UnitTest框架简介和单元测试框架使用
一.UnitTest介绍 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过, ...
- javaScript(Date与Math的API)
目录 Math Math的两个属性值 E PI abs(); ceil(); floor(); round(); max(); min (); pow(); random sin(); cos(); ...
- 'ssh-keygen' 不是内部或外部命令,也不是可运行的程序
右键我的电脑,点击环境变量,设置系统配置里面的Path 新增一个 D:\ruanjiananzhuangdizhi\Git\usr\bin 路径就可以了
- jQuery---版本问题
jQuery的版本 官网下载地址:http://jquery.com/download/ jQuery版本有很多,分为1.x 2.x 3.x 大版本分类: 1.x版本:能够兼容IE678浏览器 2.x ...
- Python常用的类库、对应的方法和属性
Python常用的类库.对应的方法和属性
- 题解【洛谷P5658】[CSP-S 2019]括号树
题面 一道简单的栈与\(\text{DP}\)的结合. 首先介绍一下序列上的括号匹配问题,也就是此题在序列上的做法: 设 \(dp_i\) 表示以 \(i\) 结尾的合法的括号序列个数, \(ss_i ...
- 【Python】遍历循环
- ASP.NET Razor简介
Razor 不是一种编程语言.它是服务器端的标记语言. 什么是 Razor? Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中. 基于服务器的代 ...