`

net.sf.json.JSONObject实现Object对象与Json字符串的互转

阅读更多

        前面看了Jackson实现Object对象与Json字符串的互转,下面来看下net.sf.json.JSONObject实现Object对象与Json字符串的互转。

JSONUtil.java

package com.bijian.study;

import net.sf.json.JSONObject;

public class JSONUtil {

    public static void main(String[] args) {
        testJsonBean();
    }

    /**
     * java对象与json对象互相转换
     */
    private static void testJsonBean() {

        /**
         * 创建java对象
         */
        Student student = new Student();
        student.setId(1);
        student.setName("李四");
        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);
        
        /**
         * 创建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);
    }
}

Student.java

package com.bijian.study;

import java.util.Arrays;

public class Student {

    private int id;
    private String name;
    private String sex;
    private int age;
    private String[] hobby;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String[] getHobby() {
        return hobby;
    }

    public void setHobby(String[] hobby) {
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + ", hobby="
                + Arrays.toString(hobby) + "]";
    }
}

        如运行时报java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常,请参考:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常解决方法

分享到:
评论

相关推荐

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    `fromObject`方法将Java对象转换为`JSONObject`,然后调用`toString()`将其转化为JSON字符串。 ### 进阶使用 - **处理嵌套结构**:`JSONObject`也支持嵌套结构,即JSON对象内包含其他JSON对象或数组。可以通过递归...

    net.sf.json.JSONObject依赖jar

    例如,如果你有一个JavaBean或者Map对象,你可以使用`fromObject()`方法快速地将其转换为JSON字符串,以便于在网络中传输或者存储。 以下是一些关于如何使用`JSONObject.fromObject()`的示例: ```java import ...

    net.sf.json.JSONObject相关jar包.zip

    通过这个JAR包,开发者能够在Java程序中方便地将JSON字符串解析成Java对象,或者将Java对象转换为JSON字符串,从而实现与JSON数据的交互。 标签 "jar" 表明这是一个Java Archive文件,是Java平台的标准归档格式,...

    net.sf.json.JsonObject需要的jar包

    `net.sf.json.JSONObject` 是json-lib中的核心类,它允许你将Java对象转换为JSON表示,并反之将JSON字符串解析为Java对象。这极大地简化了数据的序列化和反序列化过程。例如,你可以将一个HashMap转换为JSON对象,...

    net.sf.json.JSONObject Jar包下载

    无论你需要解析接收到的JSON字符串,还是需要将Java对象转化为JSON格式发送出去,"net.sf.json.JSONObject"都提供了强大的工具。 为了使用这个Jar包,你需要将其添加到项目的类路径中。如果你使用的是Maven,可以在...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    Fastjson支持Java对象与JSON之间的相互转换,包括JSON字符串到Java对象的反序列化以及Java对象到JSON字符串的序列化。它还提供了解析JSON和生成JSON的功能,可以方便地进行JSON操作,例如: 1. 将Java对象转换为...

    net.sf.json.JSONObject对象使用指南

    - **构造器**:与`JSONObject`类似,`JSONArray`也提供了一系列构造器,可以从现有的集合或JSON字符串构建`JSONArray`实例。 - **常用方法**: - `put(Object value)`:向`JSONArray`中添加元素。 - `get(int ...

    net.sf.json.JSONObject 依赖的包

    1. **序列化**:将Java对象转换成JSON字符串。例如,你可以将一个HashMap对象转换为JSON格式的字符串,便于在网络上传输或存储。 ```java import net.sf.json.JSONObject; import java.util.HashMap; HashMap, ...

    net.sf.json.JSONObject所需的jar包

    这个库不仅支持将Java对象转换为JSON对象,还能将JSON字符串反序列化为Java对象,这对于前后端交互非常有用。在Java程序中引入`net.sf.json.JSONObject`的jar包,我们可以直接将Java的Map、ArrayList等数据结构转换...

    解决net.sf.json.JSONObject

    在处理JSON数据时,我们经常遇到与`net.sf.json.JSONObject`相关的各种问题,包括序列化、反序列化、解析JSON字符串以及操作JSON对象等。这篇内容将详细探讨这些关键知识点。 1. **JSON对象的基本概念** JSON...

    JSON net.sf.json jar包

    1. **JSON与Java对象的互转**:这个库提供了便捷的方法将Java对象(如Java Bean、Map、List等)转换为JSON格式的字符串,同时也支持将JSON字符串解析成相应的Java对象。这在处理前后端交互或者内部数据存储时非常...

    JSON(net.sf.json.JSONArray)需要的jar包

    使用`net.sf.json.JSONArray`时,你可以创建JSON数组,添加元素,获取元素,甚至进行更复杂的操作,如转换为Java集合,或者从JSON字符串反序列化。例如: ```java import net.sf.json.JSONArray; JSONArray ...

    net.sf.json需要的jar

    例如,你可以创建JSON对象、解析JSON字符串、序列化Java对象为JSON格式、或者反序列化JSON数据到Java对象。同时,这些依赖库提供的工具和功能可以帮助处理数据转换、对象操作以及日志记录等任务,增强了项目的可维护...

    net.sf.json.JSONObject 为null 的判断方法

    当尝试从一个无效的JSON字符串(如"123")创建一个`JSONObject`时,`JSONObject.fromObject()`方法并不会返回`null`,而是返回一个非空的`JSONObject`。因此,上述代码中的`if`条件永远不会满足,即使JSON对象实际上...

    net.sf.json2.4

    它可以将Java对象转换为JSON格式,也可以将JSON字符串反序列化为Java对象,这在处理Web服务或前后端交互时非常有用。例如,你可以将Java的HashMap、ArrayList等数据结构转换成JSON字符串,发送到客户端,或者接收...

    json net.sf.json

    在Java开发中,`net.sf.json`库通常用于处理JSON相关的操作,比如将Java对象转换为JSON字符串,或者将JSON字符串解析为Java对象。这个库包含了多个模块,以满足不同场景下的需求,例如XML与JSON之间的转换、JSON对象...

    net.sf.json依赖包

    在Java开发中,`net.sf.json` 库提供了一系列API,使得开发者能够方便地将Java对象转换为JSON字符串,以及将JSON字符串解析回Java对象。 `net.sf.json` 库包含了以下关键功能: 1. **JSON与Java对象的转换**:通过...

    Java中使用Json的net.sf.json包

    反过来,使用`JSONObject.fromObject()`或`JSONArray.fromObject()`可以将JSON字符串解析为Java对象: ```java JSONObject parsedObject = JSONObject.fromObject(jsonString); ``` 此外,`net.sf.json`库依赖于...

Global site tag (gtag.js) - Google Analytics