专栏首页Jerry的SAP技术分享总共4行代码使用fastxml.json实现Java对象的序列化和反序列化

总共4行代码使用fastxml.json实现Java对象的序列化和反序列化

直接上代码。非常简单的测试类:

package com.sap.argame.util;

public class Person{
	private String name;
	private int age;
	
	public Person() {
		
	}
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	
	public String getName() {
		return this.name;
	}
	
	public int getAge() {
		return this.age;
	}
}

Java对象转Json字符串:

就两行代码:

import com.fasterxml.jackson.databind.ObjectMapper;


public static String toJson(Object object) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(object);
    }

Json字符串转Java对象:

public static <T> T fromJson(String json, Class<T> clazz) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.readValue(json, clazz);
    }

测试代码:

Person jerry = new Person("Jerry", 36);
    	String json = null;
		try {
			json = toJson(jerry);
		} catch (JsonProcessingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	System.out.println(json);
    	
    	Person another = null;
		try {
			another = (Person)fromJson(json, Person.class);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	
		System.out.println("Name: " + another.getName() + " age: " + another.getAge());
    	System.out.println(jerry == another);

最后的jerry和another实例的比较会得到期望的false,这也是通过序列化/反序列化攻击单例模式实现的例子。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • How does CRM middleware knows which sites are interested with CRM local changes

    You could see the following BDOC in CRM which means the BDOC will be sent to mul...

    Jerry Wang
  • 一步步使用SAP云平台的WebIDE开发SAP UI5应用

    我们开发的这个SAP UI5应用需要消费一个OData服务,请求该服务得到一系列采购订单的数据,再显示到UI5应用上。所以需要先申请该OData服务所在的服务器...

    Jerry Wang
  • ABAP 7.40新的关键字CORRESPONDING的用法

    Jerry Wang
  • Java中final和static关键字总结

    final修饰的类不可被继承,例如java.lang.Math就是一个 final类,不可被继承。

    lyb-geek
  • Java8-Lambda表达式-函数式接口

    Erwin
  • JAVA自动爬取CSDN用户数据并文章点赞

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • shell脚本实现格式化JSON字串

    工作中时常要上传json数据,上传前做校对时,单行的一长串json数据不方便校对,复制到 vscode中用插件实现格式化又麻烦,故有了写个脚本工具实现格式化输出...

    PedroQin
  • 分别开放不同的接口给OC和Swift

    因为手机登陆(需要国家码(中国 +86))和邮箱登陆的差异性,只能开放出去两个接口

    韦弦zhy
  • 聊聊dubbo的EagerThreadPool

    dubbo-2.7.2/dubbo-common/src/main/java/org/apache/dubbo/common/threadpool/suppor...

    codecraft
  • [享学Feign] 二、原生Feign的注解介绍及使用示例

    代码下载地址:https://github.com/f641385712/feign-learning

    YourBatman

扫码关注云+社区

领取腾讯云代金券