java对象和json互相转换

博客提及jar包、pom.xml和Student.java。指出json - lib - 2.4 - jdk15.jar需单独下载,在maven仓库中不存在,还提到了测试类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jar包

在这里插入图片描述

pom.xml

<project 
xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>



  <groupId>com.java1234</groupId>

  <artifactId>TestDemo</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>



  <name>TestDemo</name>

  <url>http://maven.apache.org</url>



  <properties>

    
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>



  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

    

     <dependency>

        <groupId>commons-lang</groupId>

        <artifactId>commons-lang</artifactId>

        <version>2.5</version>

    </dependency>

    

    <dependency>

        <groupId>commons-beanutils</groupId>

        <artifactId>commons-beanutils</artifactId>

        <version>1.8.0</version>

    </dependency>

    

    <dependency>

        <groupId>commons-collections</groupId>

        <artifactId>commons-collections</artifactId>

        <version>3.2.1</version>

    </dependency>

    

    <dependency>

        <groupId>commons-logging</groupId>

        <artifactId>commons-logging</artifactId>

        <version>1.1.1</version>

    </dependency>

    

    <dependency>

        <groupId>net.sf.ezmorph</groupId>

        <artifactId>ezmorph</artifactId>

        <version>1.0.6</version>

    </dependency>

    

  </dependencies>

</project>


其中的json-lib-2.4-jdk15.jar是单独下载的,在maven仓库里没有

Student.java

package com.java1234;



public class Student {



    private Integer id;

    private String name;

    private Integer age;

    public Integer getId() {

        return id;

    }

    public void setId(Integer id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public Integer getAge() {

        return age;

    }

    public void setAge(Integer age) {

        this.age = age;

    }

    public Student(Integer id, String name, 
Integer age) {

        super();

        this.id = id;

        this.name = name;

        this.age = age;

    }

    public Student() {

        super();

        // TODO Auto-generated constructor stub

    }

    

    

}


测试类:

package com.java1234.test;



import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;



import org.junit.After;

import org.junit.Before;

import org.junit.Test;



import com.java1234.Student;



import net.sf.json.JSONArray;

import net.sf.json.JSONObject;



public class Test1 {



    @Before

    public void setUp() throws Exception {

    }



    @After

    public void tearDown() throws Exception {

    }



    /**

     * 测试单个对象转<u>json</u>,用JSONObject

     */

    @Test

    public void test() {

        Student student=new Student(1,"小王",23);

        JSONObject 
jsonObject=JSONObject.fromObject(student);

        String json=jsonObject.toString();

        System.out.println(json);//{"age":23,"id":1,"name":"小王"}

    }



    /**

     * 测试list转JSON,转集合用JSONArray,会产生[]

     */

    @Test

    public void test2() {

        List<Student> list=new 
ArrayList<Student>();

        list.add(new Student(1,"小刘",22));

        list.add(new Student(2,"李大全",42));

        list.add(new Student(3,"大刘",32));

        JSONArray 
jsonArray=JSONArray.fromObject(list);

        String json=jsonArray.toString();

        System.out.println(json);//[{"age":22,"id":1,"name":"小刘"},{"age":42,"id":2,"name":"李大全"},{"age":32,"id":3,"name":"大刘"}]



    }

    

    /**

     * 测试map转JSON,转单个对象用JSONObject

     */

    @Test

    public void test3() {



        Map<String,Student> map=new 
HashMap<String,Student>();

        map.put("1", new Student(1,"小刘",22));

        map.put("2",new Student(2,"李大全",42));

        map.put("3",new Student(3,"大刘",32));

        JSONObject 
jsonObject=JSONObject.fromObject(map);

        String json=jsonObject.toString();

        System.out.println(json);//{"1":{"age":22,"id":1,"name":"小刘"},"2":{"age":42,"id":2,"name":"李大全"},"3":{"age":32,"id":3,"name":"大刘"}}



    }

    

    /**

     * 手动创建JSONObject与JSONOArray

     */

    @Test

    public void test4() {



        JSONObject jsonObject=new JSONObject();

        jsonObject.put("id","1");

        jsonObject.put("name","小华");

        jsonObject.put("age",23);

        System.out.println(jsonObject.toString());//{"id":"1","name":"小华","age":23}



        JSONObject jsonObject2=new JSONObject();

        jsonObject2.put("id","2");

        jsonObject2.put("name","小华2");

        jsonObject2.put("age",33);

        System.out.println(jsonObject2.toString()); 
//{"id":"2","name":"小华2","age":33}

        

        JSONArray jsonArray=new JSONArray();

        jsonArray.add(jsonObject);

        jsonArray.add(jsonObject2);

        System.out.println(jsonArray.toString());//[{"id":"1","name":"小华","age":23},{"id":"2","name":"小华2","age":33}]

    }

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员资料站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值