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

Java对象与json对象的转行

    博客分类:
  • java
阅读更多
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;
		// }
		//    	  
		// }
		// );

	}
}


需要:jsontools-core-1.7 和 antlrworks-1.3.1.jar (附件)
转自:http://www.iteye.com/topic/647308

分享到:
评论
1 楼 shuiguozheng 2010-05-17  
谢了,兄弟!
   请问下  这个夹包有什么用啊!antlrworks-1.3.1.jar !

相关推荐

    JSON 转化为java对象

    ### JSON 转化为 Java 对象:深入解析与实践 #### 一、背景与意义 随着互联网技术的发展,Web 应用越来越依赖于前后端分离的架构模式,其中 JSON 成为了前后端数据交换的标准格式之一。对于后端开发者而言,能够...

    JSON转JAVA & C# 转换工具.rar

    - 实体类:无论是Java Bean还是C#类,它们都是用于存储和操作数据的结构,与数据库表或JSON对象一一对应。 压缩包子文件的文件名称列表中有两个可执行文件: 1. 转换工具.exe:这可能是Windows平台下的JSON转Java或...

    Java开发常用技术

    2. **集合与泛型**:Java的集合框架包括ArrayList、LinkedList、HashSet、HashMap等,它们是存储和操作对象的主要方式。泛型则是为集合提供类型安全,防止在运行时插入不兼容的对象。可以通过阅读《Java编程思想》...

    Java 手机程序设计入门与应用

    在Java手机程序设计中,首先要理解的基础概念包括Java语言的基本语法、面向对象编程(OOP)原则以及Android应用程序架构。Java语言以其强大的类库和稳定性深受开发者喜爱,OOP则使得代码更易于维护和扩展。Android...

    java 手机程序设计 繁体中文版

    2. **面向对象编程**:Java是面向对象的语言,因此会详细介绍类、对象、继承、封装和多态等核心概念,这些是理解Java编程的关键。 3. **异常处理**:书中会涵盖Java的异常处理机制,如何使用try-catch-finally语句...

    elasticsearch工具包ESUtils.java

    - **插入(Create)**:`indexDoc(String index, String id, Object doc)`用于将文档插入指定索引,`id`是文档ID,`doc`是待存储的JSON对象。 - **读取(Read)**:`getDoc(String index, String id)`用于根据索引...

    JWT(java web Token)

    Java Web Token(JWT)是一种开放的标准(RFC 7519),定义了一种紧凑的、自包含的方式来安全地在各方之间传输信息作为一个JSON对象。这个信息可以被验证和信任,因为它是数字签名的。JWT在身份验证和授权场景中广泛...

    Java_mobile_teaching.rar_Mobileteaching_teaching

    【Java手机程序设计入门与应用】是一份专为初学者准备的Java移动开发教程,旨在帮助大家快速掌握在Android平台上使用Java进行应用开发的基础知识。本教程覆盖了从环境搭建到实际项目开发的全过程,是Java移动教学的...

    大厂Golang开发工程师面试题集锦 后端 - Java.zip

    这个资源可能是Java开发者转行Golang或者想要提升Golang技术栈的面试准备材料。 【描述】中的信息进一步确认了这个压缩文件的内容,即一个针对Golang后端开发工程师的面试题库,同时也提到了Java,暗示可能包含与...

    solution-pool.zip

    描述中的设计思路提供了一个转换过程,它涉及到递归地解析JSON对象并将其结构转化为表格形式的数据。下面是对这个过程的详细说明。 在处理JSON数据时,树状结构是最常见的表示方式,其中每个节点代表一个键值对,而...

    Google Android开发入门与实战(pdf和源代码)

    总之,《Google Android开发入门与实战》是一本全面覆盖Android开发基础知识和实战技巧的教程,无论你是编程新手还是希望转行到Android开发的从业者,都能从中受益匪浅。通过深入学习和实践,你将具备开发高质量...

    Android Application Development For Dummies

    对于那些对Kotlin有兴趣的读者,书中的部分内容也会涉及Kotlin语言,强调其与Java相比的优势和语法特性。 Android Studio是Android应用开发的主要集成开发环境(IDE),它提供了丰富的工具来简化开发流程。书中会...

    Apress.Beginning.Android.4

    读者将学习类、对象、继承、多态性等核心概念,以及Android特有的编程模式,如意图(Intent)、广播接收者(Broadcast Receiver)和服务(Service)。 Android应用的界面设计是另一个关键部分。书中会介绍XML布局...

    mobile中文教程

    2. **编程语言基础**:学习Java、Kotlin、Swift或Objective-C的基本语法,理解面向对象编程的概念。 3. **UI设计**:掌握XML或Storyboard来创建用户界面,学习布局管理,如线性布局、相对布局、网格布局等。 4. **...

    KursAkademiaAndroida

    3. **类与对象**:掌握类的创建、继承、接口实现,以及对象声明、匿名对象和伴生对象的概念。 4. **集合操作**:学习List、Set、Map等集合类型,以及它们的常用操作,如过滤、映射、折叠等函数式编程操作。 5. **...

    深入淺出 Android -- Google 手持設備應用程式設計入門

    读者将学习基本语法、数据类型、控制结构、类和对象等概念,这些都是编写任何Android应用的基石。此外,还会涉及Kotlin语言,由于Kotlin已逐渐成为Android开发的首选语言,因此了解它的特性和优势也是必要的。 书中...

Global site tag (gtag.js) - Google Analytics