import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class MainClass {
public static void main(String[] args) {
TestJsonBean();
TestJsonAttribute();
TestJsonArray();
}
@SuppressWarnings("rawtypes")
private static void TestJsonArray() {
Student student1 = new Student();
student1.setId(1);
student1.setName("jag");
student1.setSex("man");
student1.setAge(25);
student1.setHobby(new String[]{"篮球","游戏"});
Student student2 = new Student();
student2.setId(2);
student2.setName("tom");
student2.setSex("woman");
student2.setAge(23);
student2.setHobby(new String[]{"上网","跑步"});
List<Student> list = new ArrayList<Student>();
list.add(student1);
list.add(student2);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
JSONArray new_jsonArray=JSONArray.fromObject(jsonArray.toArray());
Collection java_collection=JSONArray.toCollection(new_jsonArray);
if(java_collection!=null && !java_collection.isEmpty())
{
Iterator it=java_collection.iterator();
while(it.hasNext())
{
JSONObject jsonObj=JSONObject.fromObject(it.next());
Student stu=(Student) JSONObject.toBean(jsonObj,Student.class);
System.out.println(stu.getName());
}
}
}
private static void TestJsonAttribute() {
/**
* 创建json对象并为该对象设置属性
*/
JSONObject jsonObj = new JSONObject();
jsonObj.put("Int_att",25);
jsonObj.put("String_att","str");
jsonObj.put("Double_att",12.25);
jsonObj.put("Boolean_att",true);
JSONObject jsonObjSon = new JSONObject();
jsonObjSon.put("id", 1);
jsonObjSon.put("name", "tom");
jsonObj.put("JSONObject_att",jsonObjSon);
JSONArray jsonArray = new JSONArray();
jsonArray.add("array0");
jsonArray.add("array1");
jsonArray.add("array2");
jsonArray.add("array3");
jsonObj.put("JSONArray_att", jsonArray);
System.out.println(jsonObj.toString());
System.out.println("Int_att:"+jsonObj.getInt("Int_att"));
System.out.println("String_att:"+jsonObj.getString("String_att"));
System.out.println("Double_att:"+jsonObj.getDouble("Double_att"));
System.out.println("Boolean_att:"+jsonObj.getBoolean("Boolean_att"));
System.out.println("JSONObject_att:"+jsonObj.getJSONObject("JSONObject_att"));
System.out.println("JSONArray_att:"+jsonObj.getJSONArray("JSONArray_att"));
}
/**
* java对象与json对象互相转换
*/
private static void TestJsonBean() {
/**
* 创建java对象
*/
Student student = new Student();
student.setId(1);
student.setName("jag");
student.setSex("man");
student.setAge(25);
student.setHobby(new String[]{"篮球","上网","跑步","游戏"});
/**
* java对象转换成json对象,并获取json对象属性
*/
JSONObject jsonStu = JSONObject.fromObject(student);
System.out.println(jsonStu.toString());
System.out.println(jsonStu.getJSONArray("hobby"));
/**
* json对象转换成java对象,并获取java对象属性
*/
Student stu = (Student) JSONObject.toBean(jsonStu, Student.class);
System.out.println(stu.getName());
/**
* 创建json对象
*/
JSONObject jsonObj = new JSONObject();
jsonObj.put("id",1);
jsonObj.put("name","张勇");
jsonObj.put("sex","男");
jsonObj.put("age",24);
/**
* json对象转换成java对象
*/
Student stud = (Student) JSONObject.toBean(jsonObj,Student.class);
System.out.println(stud.getName());
}
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
通过理解和掌握上述知识点,开发者可以有效地在Java对象与JSON之间进行数据转换,从而提升开发效率和代码质量。在实际项目中,根据需求选择适当的序列化和反序列化策略,可以更好地满足业务需求。
在Java中,常用的库有Jackson、Gson和org.json等,它们提供了将JSON串与Java对象互相转换的功能。 1. Jackson库: 使用Jackson,你可以通过`ObjectMapper`类将Java对象序列化为JSON,或者将JSON反序列化为Java对象...
在Java编程中,Gson库是一个非常实用的工具,它由Google开发,主要用于在Java对象和JSON数据之间进行互相转换。Gson库的核心功能在于它能够将Java对象序列化为JSON字符串,同时也能将JSON字符串反序列化为相应的Java...
在本示例"jsonDemo"中,我们将探讨如何在不同的编程环境中实现JSON与对象之间的互相转换,主要涉及的库有gson和JSONObject。 首先,我们要理解JSON的基本结构。JSON数据由键值对组成,键用双引号括起来,后跟冒号,...
总的来说,JSON在数据交换中扮演着重要角色,理解JSON对象与字符串之间的转换以及如何在JavaScript中处理JSON数据是每个Web开发者必备的技能。正确地使用JSON.parse()和JSON.stringify()方法,可以确保数据的安全性...
在Java开发中,Gson库是一个非常流行的工具,它由Google提供,用于在Java对象和JSON数据之间进行互相转换。Gson库的核心功能是将Java对象转换为它们对应的JSON字符串,反之亦然,使得JSON数据的处理变得简单而高效。...
标题中的"google_gson_2.3.1"指的是Google发布的Gson库的2.3.1版本,这是一个用于在Java对象和JSON数据之间进行互相转换的开源库。下面将详细阐述Gson库的功能、用法以及2.3.1版本中的关键特性。 1. Gson简介: ...
总的来说,Gson库提供了简单且强大的工具来处理JSON数据和Java对象之间的转换。无论是在服务器端处理HTTP响应,还是在客户端解析JSON API,Gson都是Java开发者处理JSON的首选库之一。通过了解和熟练掌握Gson与Map的...
4. **Gson**:Gson是Google提供的一个Java库,用于在Java对象和JSON数据之间进行互相转换。在这个例子中,Gson可能被用到了后台数据与前端Ajax交互的过程中,将Java对象转换成JSON字符串,通过Ajax发送到客户端,...
尽管它们在语法和用途上有所不同,但有时需要实现JS与JAVA之间的交互,比如在浏览器环境与服务器之间进行数据交换。本教程将通过具体的代码样例探讨JS与JAVA如何实现互相调用。 首先,让我们了解JS调用JAVA的基本...
- JSON转换:使用`Jackson`、`Gson`等库将Java对象与JSON进行互相转换。 10. **数据库操作**: - JDBC:连接数据库,执行SQL语句,处理结果集,了解事务管理。 这些源码实例不仅涵盖了Java的基础知识,也涉及到...
- 在线XML/JSON互相转换工具:http://tools.jb51.net/code/xmljson - JSON代码在线格式化/美化/压缩/编辑/转换工具:http://tools.jb51.net/code/jsoncodeformat - 在线json压缩/转义工具:...
Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰效果 Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、...
3. **Java Message Service (JMS)**:JMS是一个API,用于在Java应用程序之间发送和接收消息,实现异步通信。这在SOA中至关重要,因为它允许服务之间解耦,使得服务可以在不互相等待对方响应的情况下执行。 4. **...
在Java中,你可能会看到类似以下的代码来序列化和反序列化`Person`对象: ```java Person john = Person.newBuilder() .setName("John Doe") .setId(1) .setEmail("john.doe@example.com") .build(); Byte...
2. **数据序列化与反序列化**:在P2P网络中,数据通常需要在不同节点之间进行交换,这就需要将对象转换为可传输的格式(如JSON或protobuf),然后再在接收端反序列化恢复为对象。 3. **网络协议设计**:P2PDemo可能...
- 有许多开源库提供了Base64编码和解码功能,例如在Java中有`java.util.Base64`,Python中有`base64`模块,JavaScript中也有全局的`btoa`和`atob`函数。 - 在线工具也能完成Base64转换,比如`...
例如,使用Gson库可以方便地完成对象和JSON的互相转换: ```java import com.google.gson.Gson; // 定义一个Java类 class Person { String name; int age; } // 创建一个Person实例 Person person = new Person...
服务端接收到请求后,使用Jackson将JSON数据转换为Java对象,然后调用对应的服务方法,执行业务逻辑,并将结果反序列化回JSON,再返回给客户端。 在实际应用中,这个项目可以帮助开发者理解如何构建可扩展且灵活的...
Spring MVC 是一个强大的Java Web开发框架,而JAXB(Java Architecture for XML Binding)则是Java标准中的一个用于XML和Java对象之间互相转换的工具。在Spring MVC中整合JAXB,可以方便地实现RESTful服务,使得...