`
ysen
  • 浏览: 122164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java与json 的序列化与反序列化

    博客分类:
  • json
阅读更多

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;
		// }
		//    	  
		// }
		// );

	}
}

 

 

分享到:
评论
10 楼 songbin0201 2010-12-01  
序列化就是将对象的状态信息转化为可以传输或者存储的状态,所以object-json,完全是一个序列化的过程
9 楼 ysen 2010-04-21  
whaosoft 写道
帖子标题不够严谨,。。。。

序列化的定义就是将对象存储到硬盘里,反序列化就是将硬盘里的对象加载到内存中,不管是json 还是 xml 还是二进制流的方式,所达到的目的是一样的!
8 楼 iamlotus 2010-04-20  
EldonReturn 写道
序列化有特殊含义的
还是叫做JSON化和反JSON化吧

你说的那个有特殊含义的序列化也是可以用JSON实现的
7 楼 huaoguo 2010-04-20  
拜托!序列化用在这一点问题都没有
6 楼 EldonReturn 2010-04-20  
序列化有特殊含义的
还是叫做JSON化和反JSON化吧
5 楼 nothink 2010-04-20  
对不起,在文中 jsontools是什么呢?相对其他的jsonlib gjson等有什么优势,如果没优势为什么还要重复创轮呢?谢谢
4 楼 xuguozhuu 2010-04-19  
路过了,顶顶
3 楼 whaosoft 2010-04-19  
帖子标题不够严谨,。。。。
2 楼 xiangkun 2010-04-19  
我想序列化与反序列化应该是在Swing中用得比较频繁吧?  现在javaee中,都没这个概念.,.!!
1 楼 fangin 2010-04-19  
序列化不是指Java对象和json对象的转换吧,标题改一下免得误解

相关推荐

    Java Json序列化与反序列化

    Java中的JSON(JavaScript Object Notation)序列化与反序列化是开发过程中常见且重要的操作,主要用于数据交换和存储。JSON是一种轻量级的数据交换格式,它允许我们将Java对象转换为JSON字符串,反之亦然,方便在...

    json序列化与反序列化处理代码(java版本)

    极好的序列化与发序列化代码。可以处理array集合,数组或者单个对象等的序列化与反序列化。

    Json反序列化

    反序列化是将JSON格式的字符串转换为程序可直接使用的对象的过程,这对于处理网络请求返回的数据至关重要。在本篇文章中,我们将深入探讨JSON反序列化的概念、原因以及在实际开发中的应用。 一、什么是JSON反序列化...

    Json序列化与反序列化详解

    本文将深入探讨JSON的序列化与反序列化过程,以及如何使用Gson、FastJson和Jackson这三种流行的Java库来实现这一功能。 一、什么是JSON序列化与反序列化? 1. JSON序列化:序列化是指将Java对象转换为JSON字符串的...

    Json序列化与反序列化

    总结来说,JSON序列化与反序列化是现代Web开发中不可或缺的一部分,它提供了数据交换的标准格式,使得不同语言和平台之间的数据交互变得简单高效。正确理解和使用这一技术,能够极大地提升开发效率和软件的可维护性...

    JSON序列化反序列化带List

    本文将深入探讨如何在Delphi中进行JSON序列化与反序列化,特别是涉及List类型的数据。 首先,从2010年开始,Delphi引入了VCL库中的`System.JSON`单元,提供了`TJSON`类和相关的函数,使得处理JSON变得十分方便。在...

    Java使用JSON序列化教程

    JSON序列化与反序列化工具,常用的有第三方库如Jackson、Fastjson、Gson。 这些库提供了一些API和工具,可以将Java对象转换为JSON字符串,并将JSON字符串转换为Java对象。本文是使用这些库文件来实现JSON序列化的...

    JSON序列化及反序列化工具

    10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1122 1054 1115 阿里反序列化时间 409 423 412 HZS序列化时间 884 864 880 HZS反序列化时间 392 375 394 JAVA7版已经逼近阿里的速度,JAVA8版利用了闭包技术...

    jackson json序列化,反序列化所需jar包

    Jackson是Java领域中广泛使用的JSON处理库,它提供了高效的JSON序列化和反序列化功能。在Java应用程序中,我们经常需要将Java对象转换为JSON字符串(序列化)或从JSON字符串恢复Java对象(反序列化),Jackson库就是...

    Json序列化时动态处理属性

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端数据传输。...在实际开发中,了解并熟练掌握这两个库的用法,将有助于提高工作效率,处理各种复杂的JSON序列化和反序列化场景。

    C#和Java的序列化反序列化

    本篇文章将深入探讨C#和Java中的序列化与反序列化机制。 首先,我们要了解什么是序列化。序列化是指将对象的状态转化为可存储或可传输的数据格式的过程。这个过程通常将内存中的对象转换成字节流,以便保存到磁盘、...

    JSON序列化与反序列化JAVA工具

    10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1229 1133 1179 阿里反序列化时间 478 523 466 HZS序列化时间 1089 998 1010 HZS反序列化时间 606 623 635 测试代码如下: { org.hzs.json.JSONObject bjson...

    又小又快又无依赖Json序列化与反序列化

    又小又快又无依赖Json序列化与反序列化 eg: 1.json序列化 String json=JsonUtil.instance().obj2Json(obj); 2.json反序列化(Object表示具体的类) Object obj=JsonUtil.instance().json2Obj(json,Object.class) ...

    JSon发序列化总结

    ### JSON序列化与反序列化的C#实现 #### 概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。JSON是基于纯文本的格式,并且是完全独立于语言的。...

    将dataset json序列化和反序列化成dataset (非常不容易做完了)

    .net 将dataset json序列化和反序列化成dataset JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - ...

    json序列化与反序列化demo

    在Java世界里,为了方便地进行JSON的序列化(将Java对象转换为JSON字符串)和反序列化(将JSON字符串转换回Java对象),有多个库提供了强大的支持,其中包括Gson、Jackson、Fastjson以及LoganSquare。接下来,我们将...

    基于Java实现的高效序列化反序列化JSON框架设计源码

    该项目为Java语言编写的高效JSON序列化与反序列化框架设计源码,包含142个文件,涵盖134个Java源文件、2个XML文件、2个JSON文件、1个Git忽略文件、1个Markdown文件以及少量其他配置文件。此框架在序列化速度上超越...

    json-lib 序列化和反序列化

    在`json-lib`中,序列化是指将Java对象转换成JSON字符串的过程,而反序列化则是将JSON字符串转换回Java对象。以下是对这两个过程的详细说明: 1. **序列化**: - 使用`json-lib`,你可以通过`...

    支持javax.money数据类型的JSON序列化和反序列化

    在Java开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和...在处理涉及货币数据的RESTful服务、微服务通信或任何需要JSON序列化的场景下,它都是一个非常实用的工具。

    java反序列化利用程序UI版Beta1.1.zip

    3. `Newtonsoft.Json.dll`:这是一个.NET库,用于JSON序列化和反序列化。在Java环境中,这可能是为了与.NET环境交互或作为跨语言攻击的一部分。 4. `Run.exe`:这是一个可执行文件,可能是一个简单的命令行工具或...

Global site tag (gtag.js) - Google Analytics