`

java对象和json对象之间互相转换例子

 
阅读更多
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);//添加int型属性  
            jsonObj.put("String_att","str");//添加string型属性  
            jsonObj.put("Double_att",12.25);//添加double型属性  
            jsonObj.put("Boolean_att",true);//添加boolean型属性  
            //添加JSONObject型属性  
            JSONObject jsonObjSon = new JSONObject();  
            jsonObjSon.put("id", 1);  
            jsonObjSon.put("name", "tom");  
            jsonObj.put("JSONObject_att",jsonObjSon);  
            //添加JSONArray型属性  
            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);  
            //jsonObj.put("hobby",new String[]{"上网","游戏","跑步","音乐"});  
            //System.out.println(jsonObj.toString());  
            /** 
             * 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>
分享到:
评论

相关推荐

    使用jackson完成json与java对象的互相转换实例

    通过理解和掌握上述知识点,开发者可以有效地在Java对象与JSON之间进行数据转换,从而提升开发效率和代码质量。在实际项目中,根据需求选择适当的序列化和反序列化策略,可以更好地满足业务需求。

    json串转换 列子 以及jar

    在Java中,常用的库有Jackson、Gson和org.json等,它们提供了将JSON串与Java对象互相转换的功能。 1. Jackson库: 使用Jackson,你可以通过`ObjectMapper`类将Java对象序列化为JSON,或者将JSON反序列化为Java对象...

    gson 字符串,java bean 对象转化,jar和源码.zip

    在Java编程中,Gson库是一个非常实用的工具,它由Google开发,主要用于在Java对象和JSON数据之间进行互相转换。Gson库的核心功能在于它能够将Java对象序列化为JSON字符串,同时也能将JSON字符串反序列化为相应的Java...

    jsonDemo源代码

    在本示例"jsonDemo"中,我们将探讨如何在不同的编程环境中实现JSON与对象之间的互相转换,主要涉及的库有gson和JSONObject。 首先,我们要理解JSON的基本结构。JSON数据由键值对组成,键用双引号括起来,后跟冒号,...

    Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)

    总的来说,JSON在数据交换中扮演着重要角色,理解JSON对象与字符串之间的转换以及如何在JavaScript中处理JSON数据是每个Web开发者必备的技能。正确地使用JSON.parse()和JSON.stringify()方法,可以确保数据的安全性...

    Gson项目使用

    在Java开发中,Gson库是一个非常流行的工具,它由Google提供,用于在Java对象和JSON数据之间进行互相转换。Gson库的核心功能是将Java对象转换为它们对应的JSON字符串,反之亦然,使得JSON数据的处理变得简单而高效。...

    google_gson_2.3.1

    标题中的"google_gson_2.3.1"指的是Google发布的Gson库的2.3.1版本,这是一个用于在Java对象和JSON数据之间进行互相转换的开源库。下面将详细阐述Gson库的功能、用法以及2.3.1版本中的关键特性。 1. Gson简介: ...

    Gson与Map互相转化

    总的来说,Gson库提供了简单且强大的工具来处理JSON数据和Java对象之间的转换。无论是在服务器端处理HTTP响应,还是在客户端解析JSON API,Gson都是Java开发者处理JSON的首选库之一。通过了解和熟练掌握Gson与Map的...

    SSH2 整合简单增删改查实例,仅供学习使用

    4. **Gson**:Gson是Google提供的一个Java库,用于在Java对象和JSON数据之间进行互相转换。在这个例子中,Gson可能被用到了后台数据与前端Ajax交互的过程中,将Java对象转换成JSON字符串,通过Ajax发送到客户端,...

    JS 与 JAVA 互相调用代码样例

    尽管它们在语法和用途上有所不同,但有时需要实现JS与JAVA之间的交互,比如在浏览器环境与服务器之间进行数据交换。本教程将通过具体的代码样例探讨JS与JAVA如何实现互相调用。 首先,让我们了解JS调用JAVA的基本...

    Java实用编程源码50例

    - JSON转换:使用`Jackson`、`Gson`等库将Java对象与JSON进行互相转换。 10. **数据库操作**: - JDBC:连接数据库,执行SQL语句,处理结果集,了解事务管理。 这些源码实例不仅涵盖了Java的基础知识,也涉及到...

    js解析json读取List中的实体对象示例

    - 在线XML/JSON互相转换工具:http://tools.jb51.net/code/xmljson - JSON代码在线格式化/美化/压缩/编辑/转换工具:http://tools.jb51.net/code/jsoncodeformat - 在线json压缩/转义工具:...

    JAVA上百实例源码以及开源项目源代码

    Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰效果 Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、...

    Java SOA Cookbook源代码

    3. **Java Message Service (JMS)**:JMS是一个API,用于在Java应用程序之间发送和接收消息,实现异步通信。这在SOA中至关重要,因为它允许服务之间解耦,使得服务可以在不互相等待对方响应的情况下执行。 4. **...

    protobuf例子

    在Java中,你可能会看到类似以下的代码来序列化和反序列化`Person`对象: ```java Person john = Person.newBuilder() .setName("John Doe") .setId(1) .setEmail("john.doe@example.com") .build(); Byte...

    c#好例子网_P2PDemo

    2. **数据序列化与反序列化**:在P2P网络中,数据通常需要在不同节点之间进行交换,这就需要将对象转换为可传输的格式(如JSON或protobuf),然后再在接收端反序列化恢复为对象。 3. **网络协议设计**:P2PDemo可能...

    Base64图片与字符进行相互转换

    - 有许多开源库提供了Base64编码和解码功能,例如在Java中有`java.util.Base64`,Python中有`base64`模块,JavaScript中也有全局的`btoa`和`atob`函数。 - 在线工具也能完成Base64转换,比如`...

    JSONConverter

    例如,使用Gson库可以方便地完成对象和JSON的互相转换: ```java import com.google.gson.Gson; // 定义一个Java类 class Person { String name; int age; } // 创建一个Person实例 Person person = new Person...

    spring-remote-service-example:一个示例项目,用于展示如何使用 JSON 反序列化通过 HTTP 在隔离的 Spring 容器之间进行(远程)服务调用

    服务端接收到请求后,使用Jackson将JSON数据转换为Java对象,然后调用对应的服务方法,执行业务逻辑,并将结果反序列化回JSON,再返回给客户端。 在实际应用中,这个项目可以帮助开发者理解如何构建可扩展且灵活的...

    springmvc整合jaxb

    Spring MVC 是一个强大的Java Web开发框架,而JAXB(Java Architecture for XML Binding)则是Java标准中的一个用于XML和Java对象之间互相转换的工具。在Spring MVC中整合JAXB,可以方便地实现RESTful服务,使得...

Global site tag (gtag.js) - Google Analytics