JSONObject.fromObject(map)(JSON与JAVA数据的转换)

本文介绍了如何将Java中的各种数据结构(如List、Map、Bean及数组等)转换为JSON格式,适用于前后端交互场景。通过具体示例代码展示了不同类型的Java对象转换成JSON的方法。

http://blog.sina.com.cn/s/blog_6972d2fa0100zmg7.html

 

JSON与JAVA数据的转换( JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。

上一篇文章中有这么一句,是后台的封装数据。

JSONObject jo = JSONObject.fromObject(map);
常见的java代码转换成json


1. List集合转换成json代码

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );

2. Map集合转换成json代码

Map map = new HashMap();

map.put("name", "json");

map.put("bool", Boolean.TRUE);

map.put("int", new Integer(1));

map.put("arr", new String[] { "a", "b" });

map.put("func", "function(i){ return this.arr[i]; }");

JSONObject json = JSONObject.fromObject(map);

3. Bean转换成json代码

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

4. 数组转换成json代码

boolean[] boolArray = new boolean[] { true, false, true };

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

5. 一般数据转换成json代码

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

`JSONObject.fromObject` 是 `net.sf.json` 包中 `JSONObject` 类的一个静态方法,其主要作用是将各种类型的数据转换为 `JSONObject` 对象。 ### 含义 从功能上来说,`JSONObject.fromObject` 会去调用正确的 `JSONObject` 工厂方法,把传入的数据转换JSON 格式的对象。不过需要注意的是,这里的转换要求 JSON 字串中对象的属性/方法不能为 `NULL` 值,因为 `NULL` 值没有对应的正确工厂方法可调用 [^2]。 ### 使用示例 以下是使用 `JSONObject.fromObject` 方法的示例代码,首先需要在 `pom.xml` 文件中添加依赖: ```xml <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> ``` 然后在 Java 代码中使用该方法: ```java import net.sf.json.JSONObject; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } public class Main { public static void main(String[] args) { User user = new User("John", 30); // 使用 fromObject 方法将 User 对象转换JSONObject JSONObject json = JSONObject.fromObject(user); System.out.println(json); // 也可以将 Map 等其他类型的数据转换JSONObject // Map<String, Object> map = new HashMap<>(); // map.put("name", "John"); // map.put("age", 30); // JSONObject jsonFromMap = JSONObject.fromObject(map); // System.out.println(jsonFromMap); } } ``` ### 使用场景 - **对象转换**:可以将 Java 对象转换JSON 对象,方便在不同系统之间进行数据传输,比如在前后端交互时,将 Java 对象转换JSON 格式传递给前端 [^1]。 - **数据整合**:可以将多个数据整合到一个 JSON 对象中,便于统一处理和传输。 ### 注意事项 - `jsonobject` 可以转换一个对象,也可以自己加入一个对象;`jsonobject` 和 `jsonarray` 只是新增了一个 JSON 中的对象,而不是 `action` 中返回的 JSON 对象只有这一个转化后的 JSON 对象;在 `action` 中使用 `jsonobject` 或者是 `jsonarray` 后不会改变已有的 JSON 返回对象 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值