前面看了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异常解决方法。
相关推荐
`fromObject`方法将Java对象转换为`JSONObject`,然后调用`toString()`将其转化为JSON字符串。 ### 进阶使用 - **处理嵌套结构**:`JSONObject`也支持嵌套结构,即JSON对象内包含其他JSON对象或数组。可以通过递归...
例如,如果你有一个JavaBean或者Map对象,你可以使用`fromObject()`方法快速地将其转换为JSON字符串,以便于在网络中传输或者存储。 以下是一些关于如何使用`JSONObject.fromObject()`的示例: ```java import ...
通过这个JAR包,开发者能够在Java程序中方便地将JSON字符串解析成Java对象,或者将Java对象转换为JSON字符串,从而实现与JSON数据的交互。 标签 "jar" 表明这是一个Java Archive文件,是Java平台的标准归档格式,...
`net.sf.json.JSONObject` 是json-lib中的核心类,它允许你将Java对象转换为JSON表示,并反之将JSON字符串解析为Java对象。这极大地简化了数据的序列化和反序列化过程。例如,你可以将一个HashMap转换为JSON对象,...
无论你需要解析接收到的JSON字符串,还是需要将Java对象转化为JSON格式发送出去,"net.sf.json.JSONObject"都提供了强大的工具。 为了使用这个Jar包,你需要将其添加到项目的类路径中。如果你使用的是Maven,可以在...
Fastjson支持Java对象与JSON之间的相互转换,包括JSON字符串到Java对象的反序列化以及Java对象到JSON字符串的序列化。它还提供了解析JSON和生成JSON的功能,可以方便地进行JSON操作,例如: 1. 将Java对象转换为...
- **构造器**:与`JSONObject`类似,`JSONArray`也提供了一系列构造器,可以从现有的集合或JSON字符串构建`JSONArray`实例。 - **常用方法**: - `put(Object value)`:向`JSONArray`中添加元素。 - `get(int ...
1. **序列化**:将Java对象转换成JSON字符串。例如,你可以将一个HashMap对象转换为JSON格式的字符串,便于在网络上传输或存储。 ```java import net.sf.json.JSONObject; import java.util.HashMap; HashMap, ...
这个库不仅支持将Java对象转换为JSON对象,还能将JSON字符串反序列化为Java对象,这对于前后端交互非常有用。在Java程序中引入`net.sf.json.JSONObject`的jar包,我们可以直接将Java的Map、ArrayList等数据结构转换...
在处理JSON数据时,我们经常遇到与`net.sf.json.JSONObject`相关的各种问题,包括序列化、反序列化、解析JSON字符串以及操作JSON对象等。这篇内容将详细探讨这些关键知识点。 1. **JSON对象的基本概念** JSON...
1. **JSON与Java对象的互转**:这个库提供了便捷的方法将Java对象(如Java Bean、Map、List等)转换为JSON格式的字符串,同时也支持将JSON字符串解析成相应的Java对象。这在处理前后端交互或者内部数据存储时非常...
使用`net.sf.json.JSONArray`时,你可以创建JSON数组,添加元素,获取元素,甚至进行更复杂的操作,如转换为Java集合,或者从JSON字符串反序列化。例如: ```java import net.sf.json.JSONArray; JSONArray ...
例如,你可以创建JSON对象、解析JSON字符串、序列化Java对象为JSON格式、或者反序列化JSON数据到Java对象。同时,这些依赖库提供的工具和功能可以帮助处理数据转换、对象操作以及日志记录等任务,增强了项目的可维护...
它可以将Java对象转换为JSON格式,也可以将JSON字符串反序列化为Java对象,这在处理Web服务或前后端交互时非常有用。例如,你可以将Java的HashMap、ArrayList等数据结构转换成JSON字符串,发送到客户端,或者接收...
当尝试从一个无效的JSON字符串(如"123")创建一个`JSONObject`时,`JSONObject.fromObject()`方法并不会返回`null`,而是返回一个非空的`JSONObject`。因此,上述代码中的`if`条件永远不会满足,即使JSON对象实际上...
在Java开发中,`net.sf.json`库通常用于处理JSON相关的操作,比如将Java对象转换为JSON字符串,或者将JSON字符串解析为Java对象。这个库包含了多个模块,以满足不同场景下的需求,例如XML与JSON之间的转换、JSON对象...
在Java开发中,`net.sf.json` 库提供了一系列API,使得开发者能够方便地将Java对象转换为JSON字符串,以及将JSON字符串解析回Java对象。 `net.sf.json` 库包含了以下关键功能: 1. **JSON与Java对象的转换**:通过...
反过来,使用`JSONObject.fromObject()`或`JSONArray.fromObject()`可以将JSON字符串解析为Java对象: ```java JSONObject parsedObject = JSONObject.fromObject(jsonString); ``` 此外,`net.sf.json`库依赖于...