Java JSON、XML文件/字符串与Bean对象互转解析
前言

- /**
- * JSON字符串转换为对象
- * @param src JSON字符串
- * @param target 目标Bean
- */
- public static <T> T String2Object(String src, Class<T> target) throws
- JsonParseException, JsonMappingException, IOException {
- ObjectMapper mapper = new ObjectMapper();
- //配置,允许使用单引号字符的JSON
- mapper.configure(JsonParser.Feature. ALLOW_SINGLE_QUOTES, true);
- return mapper.readValue( new StringReader(src), target);
- }
- /***
- * 将对象序列化为JSONObject字符串
- * @param object bean对象
- * @return String JSONString
- */
- public static String toJSONObjectString(Object object) {
- JSONObject jsonObject = JSONObject. fromObject(object);
- return jsonObject.toString();
- }
- /**
- * 字符串转化为目标List列表
- * @param src 源JSON串
- * @param target 目标类型
- * @return 转化后的列表对象
- */
- @SuppressWarnings("rawtypes")
- public static List String2ObjectsList(String src, Class target)
- throws Exception {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(JsonParser.Feature. ALLOW_SINGLE_QUOTES, true);
- List result = mapper.readValue( new StringReader(src),
- TypeFactory. collectionType(ArrayList.class, target));
- return result;
- }
- /**
- * 将List对象序列化为JSON文本
- * @param list
- * @return List <T>
- */
- public static <T> String toJSONString(List<T> list) {
- JSONArray jsonArray = JSONArray. fromObject(list);
- return jsonArray.toString();
- }
- import org.simpleframework.xml.Attribute;
- import org.simpleframework.xml.Element;
- import org.simpleframework.xml.Root;
- @Root//根节点
- public class User {
- @Attribute//作为属性
- private Integer id;
- @Element//作为元素
- private String name;
- @Element
- private String email;
- public User() {
- super();
- }
- public User(Integer id, String name, String email) {
- super();
- this. id = id;
- this. name = name;
- this. email = email;
- }
- /**
- * the below is getter and setter function
- */
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this. id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this. name = name;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this. email = email;
- }
- }
- //定义序列化对象
- Serializer serializer = new Persister();
- User user = new User(1001,"test","wewoor@foxmail.com" );
- String test = "<user id='1001'><name>test12</name><email>wewoor@foxmail.com</email></user>";
- //读取
- serializer.read(user, test);
- System. out.print(user.getId());
- User user = new User(1001,"test","wewoor@foxmail.com" );
- //定义序列化对象
- Serializer serializer = new Persister();
- //输出流
- OutputStream out = new ByteArrayOutputStream();
- serializer.write(user, out);
- result = out.toString();
- System. out.print(result);
- out.close();
- file = new File("Ziv.xml");
- User user = new User(1001,"test","wewoor@foxmail.com" );
- //定义序列化对象
- Serializer serializer = new Persister();
- //将User user 写入ziv.xml
- serializer.write(user, file);
- file = new File( "Ziv.xml");
- User user = new User();
- //定义序列化对象
- Serializer serializer = new Persister();
- //读取ziv.xml到User中
- serializer.read(user, file);
Java JSON、XML文件/字符串与Bean对象互转解析的更多相关文章
- Java—JSON串转换成实体Bean对象模板
介绍 模板需求说明 开发中经常遇到前端传递过来的JSON串的转换,后端需要解析成对象,有解析成List的,也有解析成Map的. 依赖 <dependency> <groupId& ...
- java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...
- Java Json格式的字符串转变对象
Java Json格式的字符串转变对象: 方法还是比较多的: 学习:https://my.oschina.net/heweipo/blog/386808 其中的jsonlib说明:http://www ...
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- 用java操作XML文件(DOM解析方式)
XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具. XML的作用: (1)用作配置文件 (2)简化数据共享 (3)简化数据传输 XML DO ...
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- Java操作xml文件
Bbsxml.java public class Bbsxml { private String imgsrc; private String title; private String url; p ...
- java用Annotation注入到成员Bean对象
java用Annotation注入到成员Bean对象 在使用一些java框架的时候,经常看到一些注解,而且使用注解之后就可以免去一些xml的繁琐配置,本文记录如何通过注解获得成员Bean对象. 一.首 ...
- 通过Java读取xml文件内容
读取XML中的内容就需要对XML进行解析,目前对XML进行解析的方法分为四种: 下面解析的方法是DOM4J,需要下载jar包dom4j:https://dom4j.github.io/ package ...
随机推荐
- 如何修改opencms数据库配置
修改/webapps/opencms/WEB-INF/config/opencms.properties文件 什么情况下需要修改配置? 1. 使用过程中,修改数据库配置: 2. 太长时间没接触服务器, ...
- Effective Java 39 Make defensive copies when needed
Principle It is essential to make a defensive copy of each mutable parameter to the constructor. Def ...
- Java小方法
/** * 计算百分比. * @param dividend 被除数 * @param divisor 除数 * @return 结果 */ private String getPercent(lon ...
- Spring依赖注入三种方式详解
在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...
- 001.linux下clock()检测程序运行时间
#include <stdio.h> #include <time.h> int main() { int i; int k; clock_t start,end; //clo ...
- php redis 获取指定前缀的所有key
php redis 获取指定前缀的所有key 以laravel框架为例: $key = $this->redis->keys('db:shipping:shippingId:' . &qu ...
- Webshell实现与隐藏探究
一.什么是webshell webshell简介 webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理 工具,可以 ...
- NOIP2008提高组(前三题) -SilverN
此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...
- java lambda小纪
一个通俗的说法是 :C#委托和Java中实现了 函数式编程的方法,它是函数式编程中的概念,为了更快的处理集合,在Java,c#等静态类型语言中想要引用一个函数的一种方式,(实现了通过封装匿名方法来达到 ...
- 边工作边刷题:70天一遍leetcode: day 84-1
Verify preorder sequence of Binary Search Tree 要点:simulating preorder sequence: 根据preorder的特点,首先会一直向 ...