Json、JavaBean、Map、XML之间的互转
思路是JavaBean、Map、XML都可以用工具类很简单的转换为Json,进而实现互相转换
1.Map、XML与Json互转
mvn依赖 <dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20171018</version>
</dependency>
entity
public class Student {
private String name;
private String sex;
private int age;
}
import org.json.JSONObject;
import org.json.XML; import java.util.HashMap;
import java.util.Map; public class JsonUtil { public static String JsonToXml(String json){ JSONObject jsonObject = new JSONObject(json);
return XML.toString(jsonObject) ;
} public static String XmlToJson(String xml){ JSONObject jsonObject = XML.toJSONObject(xml);
return jsonObject.toString();
} public static String MapToJson(Map map){ JSONObject jsonObject = new JSONObject(map);
return jsonObject.toString();
} public static Map JsonToMap(String json){ JSONObject jsonObject = new JSONObject(json);
return jsonObject.toMap();
} public static String BeanToJson(Object object){ JSONObject jsonObject = new JSONObject(object);
return jsonObject.toString();
} public static void main(String[] args) { Map map = new HashMap();
map.put("name","小明");
map.put("sex","男");
map.put("age",10); String json = MapToJson(map);
System.out.println(json); Map map1 = JsonToMap(json);
System.out.println(map1); String xml = JsonToXml(json);
System.out.println(xml); String json1 = XmlToJson(xml);
System.out.println(json1); // bean to json
Student student = new Student("小红","女",20);
String json2 = BeanToJson(student);
System.out.println(json2);
}
}
执行结果
{"name":"小明","age":10,"sex":"男"}
{sex=男, name=小明, age=10}
<sex>男</sex><name>小明</name><age>10</age>
{"sex":"男","name":"小明","age":10}
{"sex":"女","name":"小红","age":20}
2.JavaBean与Json互转
mvn依赖 <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.9</version>
</dependency>
import com.alibaba.fastjson.JSON;
public class JsonUtil2 {
public static String BeanToJson(Object object){
String json = JSON.toJSONString(object);
return json;
}
public static <T>T JsonToBean(String json,Class<T> clazz){
return JSON.parseObject(json,clazz);
}
public static void main(String[] args) {
Student student = new Student("小张","男",28);
String json = BeanToJson(student);
System.out.println(json);
Student student1 = JsonToBean(json,Student.class);
System.out.println(student1);
}
}
执行结果
{"age":28,"name":"小张","sex":"男"}
Student{name='小张', sex='男', age=28}
3.常用的json工具类除了上面两个以外还有jackson
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
Json、JavaBean、Map、XML之间的互转的更多相关文章
- json 数组 对象 xml 之间转换(待补充)
json 数组 xml 对象 之间转换(待补充) 1 把对象的类型或者数组转换成字符串类型(或者更确切的说是json类型的). 此处参考链接http://www.jb51.net/article ...
- JSON和JS对象之间的互转
1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2. 浏览器支持的 ...
- JSON和JS对象之间的互转(转)
文章出处:http://www.cnblogs.com/dyllove98/p/4235909.html 1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQ ...
- JSON对象和String之间的互转及处理
如题,本文列举了一些在web前端开发中常用的转换及处理方式.使用JSON而不是字符串,主要是为了方便处理. JSON:JavaScript 对象表示法(JavaScript Object Notati ...
- JSON和JS对象之间的互转【转】
1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2. 浏览器支持的 ...
- json、javaBean、xml互转的几种工具介绍
json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...
- json、javaBean、xml互转的几种工具介绍 (转载)
工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简 ...
- 转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...
- Java Jaxb JavaBean与XML互转
1.Jaxb - Java Arcitecture for XML Binding 是业界的一个标准,是一项能够依据XML Schema产生Java类的技术. Jaxb2.0是Jdk1.6的组成部分. ...
随机推荐
- maven无法下载oracle驱动包
由于版权问题,在中央仓库是没有oracle的jdbc驱动的,可以手动下载到本地或者在oracle安装目录的jdbc目录中找到对应的jar,然后通过以下命令安装到本地仓库 mvn install:ins ...
- MGR实现分析 - 成员管理与故障恢复实现
MySQL Group Replication(MGR)框架让MySQL具备了自动主从切换和故障恢复能力,举single primary(单主)模式为例,primary作为主节点对外提供读写服务,是唯 ...
- js通過name获取input框输入值
var account = $("input[name='account']").val();//获取input框输入值
- 安装Visual Studio 语言包时出现windows 程序兼容模式已打开.请将其关闭
打开 cmd.exe 输入 安装包路径 /Uninstall例如:D:\vs_lang_cn.exe /Uninstall (中间有个空格,Uninstall前是个左斜杠)回车 后 安装包会运行.点击 ...
- python ctypes库3_如何传递并返回一个数组
可以将数组指针传递给dll,但无法返回数组指针,python中没有对应的数组指针类型. 如果需要返回数组,需借助结构体. 参考ctypes官方文档: https://docs.python.org/3 ...
- 闲话Pipeline In Maya
在整个行业都在高呼“农业学大寨,流程学xx”的大背景下,你想推出一个新的更好的流程有着极大的难度. 在2014年的时候行业内大部分公司就有了资产的概念,会成立资产部门去专门创建资产,供后续环节多次重用 ...
- docker配置phpadmin需要注意的地方
因为web服务是在容器内跑的,ip地址注意,如果没有特殊配置,应该使用172.
- 17款提高编码效率的CSS工具
摘要:作为WEB前端开发人员,你的工作可能很大一部分都在编写CSS代码,为了提高前端开发人员编写CSS代码的效率,编程文库从 网上搜集了17款可以提高你CSS代码效率的CSS工具,它们可以帮助你快速生 ...
- 如何启用小米手机5c的ROOT权限
小米手机5c怎么样开通了root超级权限?大家都知道,android设备有root超级权限,一旦手机开通了root相关权限,能够实现更强大的功能,举个例子大家部门的营销部门的同事,使用某些营销应用都需 ...
- 20175236 2018-2019-2 《Java程序设计》第六周学习总结
教材学习内容总结 第七章 try :用于监听.将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出. catch:用于捕获异常.catch用来捕获try ...