jsontools 工具包可以将Java对象转化成json对象,也可以讲jsonString 转化成Java对象,转化的过程十分方便。
注意:1.对象必需实现默认的构造函数,因为jsontools在解析的时候使用了反射实例化属性对象,
2.必需给属性提供get,set 方法,因为jsontools 使用了内省获得属性值。
public class Blog {
private Author writer;
private List<Entry> entries = new ArrayList<Entry> ();
public Blog() {
super();
}
public Blog(Author writer) {
this.writer = writer;
}
public void add(Entry entry) {
entries.add(entry);
}
public Author getWriter() {
return writer;
}
public void setWriter(Author writer) {
this.writer = writer;
}
public List<Entry> getEntries() {
return entries;
}
public void setEntries(List<Entry> entries) {
this.entries = entries;
}
}
public class Author {
private String name;
public Author() {
super();
}
public Author(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Entry {
private String title, description;
public Entry() {
super();
}
public Entry(String title, String description) {
this.title = title;
this.description = description;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
public static void main(String[] args) throws Exception {
try {
Object o = Blog.class.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
Blog teamBlog = new Blog(new Author("Guilherme Silveira"));
teamBlog.add(new Entry("first", "My first blog entry."));
teamBlog
.add(new Entry("tutorial",
"Today we have developed a nice alias tutorial. Tell your friends! NOW!"));
// 序列化
JSONValue jsonValue = JSONMapper.toJSON(teamBlog);
String jsonStr = jsonValue.render(true); // 是否格式化
System.out.println(jsonStr);
// 反序列化
JSONParser parser = new JSONParser(new StringReader(jsonStr));
// JSONObject.decorate(anObject)
Blog b = (Blog) JSONMapper.toJava(parser.nextValue(), Blog.class);
System.out.println(b);
// Blog b = (Blog)JSONMapper.toJava(parser.nextValue(),
// new ParameterizedType(){
//
// @Override
// public Type[] getActualTypeArguments() {
//
// return null;
// }
//
// @Override
// public Type getOwnerType() {
//
// return null;
// }
//
// @Override
// public Type getRawType() {
//
// return null;
// }
//
// }
// );
}
}
分享到:
相关推荐
Java中的JSON(JavaScript Object Notation)序列化与反序列化是开发过程中常见且重要的操作,主要用于数据交换和存储。JSON是一种轻量级的数据交换格式,它允许我们将Java对象转换为JSON字符串,反之亦然,方便在...
极好的序列化与发序列化代码。可以处理array集合,数组或者单个对象等的序列化与反序列化。
反序列化是将JSON格式的字符串转换为程序可直接使用的对象的过程,这对于处理网络请求返回的数据至关重要。在本篇文章中,我们将深入探讨JSON反序列化的概念、原因以及在实际开发中的应用。 一、什么是JSON反序列化...
本文将深入探讨JSON的序列化与反序列化过程,以及如何使用Gson、FastJson和Jackson这三种流行的Java库来实现这一功能。 一、什么是JSON序列化与反序列化? 1. JSON序列化:序列化是指将Java对象转换为JSON字符串的...
总结来说,JSON序列化与反序列化是现代Web开发中不可或缺的一部分,它提供了数据交换的标准格式,使得不同语言和平台之间的数据交互变得简单高效。正确理解和使用这一技术,能够极大地提升开发效率和软件的可维护性...
本文将深入探讨如何在Delphi中进行JSON序列化与反序列化,特别是涉及List类型的数据。 首先,从2010年开始,Delphi引入了VCL库中的`System.JSON`单元,提供了`TJSON`类和相关的函数,使得处理JSON变得十分方便。在...
JSON序列化与反序列化工具,常用的有第三方库如Jackson、Fastjson、Gson。 这些库提供了一些API和工具,可以将Java对象转换为JSON字符串,并将JSON字符串转换为Java对象。本文是使用这些库文件来实现JSON序列化的...
10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1122 1054 1115 阿里反序列化时间 409 423 412 HZS序列化时间 884 864 880 HZS反序列化时间 392 375 394 JAVA7版已经逼近阿里的速度,JAVA8版利用了闭包技术...
Jackson是Java领域中广泛使用的JSON处理库,它提供了高效的JSON序列化和反序列化功能。在Java应用程序中,我们经常需要将Java对象转换为JSON字符串(序列化)或从JSON字符串恢复Java对象(反序列化),Jackson库就是...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端数据传输。...在实际开发中,了解并熟练掌握这两个库的用法,将有助于提高工作效率,处理各种复杂的JSON序列化和反序列化场景。
本篇文章将深入探讨C#和Java中的序列化与反序列化机制。 首先,我们要了解什么是序列化。序列化是指将对象的状态转化为可存储或可传输的数据格式的过程。这个过程通常将内存中的对象转换成字节流,以便保存到磁盘、...
10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1229 1133 1179 阿里反序列化时间 478 523 466 HZS序列化时间 1089 998 1010 HZS反序列化时间 606 623 635 测试代码如下: { org.hzs.json.JSONObject bjson...
又小又快又无依赖Json序列化与反序列化 eg: 1.json序列化 String json=JsonUtil.instance().obj2Json(obj); 2.json反序列化(Object表示具体的类) Object obj=JsonUtil.instance().json2Obj(json,Object.class) ...
### JSON序列化与反序列化的C#实现 #### 概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。JSON是基于纯文本的格式,并且是完全独立于语言的。...
.net 将dataset json序列化和反序列化成dataset JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - ...
在Java世界里,为了方便地进行JSON的序列化(将Java对象转换为JSON字符串)和反序列化(将JSON字符串转换回Java对象),有多个库提供了强大的支持,其中包括Gson、Jackson、Fastjson以及LoganSquare。接下来,我们将...
该项目为Java语言编写的高效JSON序列化与反序列化框架设计源码,包含142个文件,涵盖134个Java源文件、2个XML文件、2个JSON文件、1个Git忽略文件、1个Markdown文件以及少量其他配置文件。此框架在序列化速度上超越...
在`json-lib`中,序列化是指将Java对象转换成JSON字符串的过程,而反序列化则是将JSON字符串转换回Java对象。以下是对这两个过程的详细说明: 1. **序列化**: - 使用`json-lib`,你可以通过`...
在Java开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和...在处理涉及货币数据的RESTful服务、微服务通信或任何需要JSON序列化的场景下,它都是一个非常实用的工具。
3. `Newtonsoft.Json.dll`:这是一个.NET库,用于JSON序列化和反序列化。在Java环境中,这可能是为了与.NET环境交互或作为跨语言攻击的一部分。 4. `Run.exe`:这是一个可执行文件,可能是一个简单的命令行工具或...