首先说明一下,json-lib相较于Jackson以及GSON,性能是最低的,并且长期没有更新,所以不推荐使用。
1.Maven Dependency
<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>org.fool.json</groupId> <artifactId>json</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>JSON</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>
先来看一个简单的DEMO
JsonlibDemo.java
package org.fool.json.jsonlib; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonlibDemo { public static void main(String[] args) { String jsonContent = "{'hello':'world', 'hero':'heroine'}"; JSONObject jsonObject = JSONObject.fromObject(jsonContent); String str1 = jsonObject.getString("hello"); String str2 = jsonObject.getString("hero"); System.out.println(str1); System.out.println(str2); System.out.println("--------------------"); jsonContent = "[{'hello': 333, 'abc': false, 'xyz': {'a': 1, 'b': 'ab'}}, " + "{'hello': 555, 'abc': true, 'xyz': {'a': 3, 'b': 'ba'}}]"; JSONArray jsonArray = JSONArray.fromObject(jsonContent); for (Object object : jsonArray) { JSONObject jsonObject2 = JSONObject.fromObject(object); int value1 = jsonObject2.getInt("hello"); boolean value2 = jsonObject2.getBoolean("abc"); // String value33 = jsonObject2.getString("xyz"); JSONObject jsonObject3 = jsonObject2.getJSONObject("xyz"); int value3 = jsonObject3.getInt("a"); String value4 = jsonObject3.getString("b"); System.out.println(value1); System.out.println(value2); System.out.println(value3); System.out.println(value4); } } }
2.POJO
Person.java
package org.fool.json.jsonlib; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; public class Person { private String username; private String password; private int age; private String address; private List<String> list = new ArrayList<>(); public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }
3.JUnit Test
JsonlibTest.java
package org.fool.json.jsonlib; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.junit.Before; import org.junit.Test; public class JsonlibTest { private JSONObject jsonObject = null; private JSONArray jsonArray = null; private Person person = null; @Before public void setUp() throws Exception { person = new Person(); person.setUsername("zhangsan"); person.setPassword("123456"); person.setAddress("beijing"); person.setAge(30); person.getList().add("hello"); person.getList().add("world"); person.getList().add("Hero"); person.getList().add("Heroine"); } ...... }
testEntity2Json
... @Test public void testEntity2Json() { jsonObject = JSONObject.fromObject(person); System.out.println(jsonObject); } ...
result
{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}
testArray2Json
... @Test public void testArray2Json() { Person[] persons = {person, person}; // int[] i = { 8, 8, 5, 6, 7 }; jsonArray = JSONArray.fromObject(persons); System.out.println(jsonArray); } ...
result
[{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}]
testList2Json
... @Test public void testList2Json() { List<Person> list = new ArrayList<>(); list.add(person); list.add(person); jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); } ...
result
[{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}]
testMap2Json
... @Test public void testMap2Json() { Map<String, Person> map = new HashMap<>(); map.put("001", person); map.put("002", person); jsonObject = JSONObject.fromObject(map); System.out.println(jsonObject); } ...
result
{"001":{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},"002":{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}}
相关推荐
这个例子展示了如何从JSON数据中提取HTML内容,然后使用`jsoup`解析这个HTML,提取出有用的信息。在实际项目中,开发者可能会根据API的具体结构和需求进行更复杂的操作。理解如何正确使用这些库和处理数据格式是Java...
`json-lib.jar`是一个流行的Java库,用于处理JSON格式的数据,它提供了丰富的API来操作JSON对象。本文将深入探讨基于`json-lib.jar`包中的`JSONObject`类的四种常用用法。 1. **创建JSONObject** 创建`JSONObject`...
在描述中提到的"内附实际例子"意味着这个压缩包可能包含了一个示例项目或者代码片段,演示了如何使用`json-lib`进行JSON转换。这通常是开发者学习新库的好资源,因为它们展示了实际应用中的用法,帮助理解API的工作...
对于解析JSON,json-lib提供了将JSON字符串反序列化为Java对象的方法。假设我们有一个如下的JSON字符串: ```json { "name": "李四", "age": 28 } ``` 我们可以使用以下代码将其转换为User对象: ```java ...
在Java开发中,json-lib提供了多种JSON解析器,可以将Java对象转换为JSON字符串,反之亦然。这对于在服务器端处理HTTP请求或响应时非常有用,因为JSON是一种轻量、易于理解和解析的格式。例如,你可以使用json-lib将...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。JSON-LIB是一个Java库,用于将Java对象转换为JSON格式,反之亦然。这篇文章将引导您快速入门JSON-...
3. **解析JSON字符串到Java对象** 反之,若要将JSON字符串转换回Java对象,同样简单: ```java User user = gson.fromJson(json, User.class); ``` **二、Json-lib库** Json-lib是另一个常用的Java JSON处理库...
2. **JSON到对象的反序列化**:反之,`json-lib`也能将JSON字符串解析成对应的Java对象,这在接收网络请求或读取JSON格式的文件时非常实用。 3. **XML与JSON的互转**:`json-lib`还提供了XML和JSON之间的转换功能,...
7. 示例代码:笔记中可能包含实际操作的例子,演示如何使用JSON-lib进行对象和字符串之间的转换,以及XML和JSON之间的转换。 8. 异常处理:在实际使用中,可能会遇到如数据不匹配、格式错误等问题,学习笔记可能会...
1. **Jackson或Gson**: 这些是其他流行的JSON库,可能会被`json-lib`用作底层实现,特别是进行复杂JSON解析和生成时。 2. **Commons Lang**: Apache Commons Lang提供了一系列实用工具类,可能被`json-lib`用于字符...
例如,以下是一个简单的使用json-lib将Java对象转换为JSON字符串的例子: ```java import net.sf.json.JSONObject; public class Main { public static void main(String[] args) { // 创建一个Java对象 Person...
在这个例子中,`@RequestBody`注解将请求体中的JSON转换为User对象,`@ResponseBody`则将控制器返回的User对象转换为JSON响应。 此外,我们还可以自定义JSON序列化和反序列化的规则,例如忽略某些字段、自定义日期...
通过这些例子,开发者可以快速理解如何将JSON字符串转化为Java对象,或者将Java对象转化为JSON字符串。 使用`json-lib-2.4-jdk15`时,开发人员可以创建`JSONArray`和`JSONObject`来表示JSON数据结构,使用`from...
通过阅读博客“使用json-lib进行Java和JSON之间的转换”,你可以更深入地了解json-lib的具体使用方法,并结合实际例子来实践,从而提升你的Java和JSON处理能力。同时,如果项目允许,考虑尝试更新的库可能会带来更好...
json2.js库解决了这个问题,它提供了parse()方法用于解析JSON字符串到JavaScript对象,以及stringify()方法用于将JavaScript对象转换成JSON字符串。 在上述的“一个使用JSON-lib和json2.js的示例”中,我们可以假设...
当你的项目中包含JSON相关的操作,例如从服务器获取JSON响应,解析JSON数据,或者将Java对象转换成JSON发送出去,这些jar包就成为了必不可少的依赖。 具体使用时,例如使用`json-lib`,你可以创建一个`JSONObject`...
它提供了多种方式来将JSON与Java对象相互转换,包括将Java对象转换为JSON字符串,以及将JSON文本解析为Java对象。ezmorph模块是json-lib的一部分,提供了对象的动态变形功能,用于方便地将一种Java对象转换为另一种...
在Java开发中,处理JSON数据是一项常见的任务,而json-lib是一个流行且实用的库,用于在Java中解析和操作JSON(JavaScript Object Notation)数据。本文将深入介绍如何使用json-lib进行JSON数据的处理,并提供相关...
`json-lib`是一个Java库,它提供了一套API来解析、生成、修改和序列化JSON格式的数据。这个库支持多种Java集合,如`List`、`Map`,以及自定义Java对象与JSON之间的转换。在Java项目中,如果需要将JSON字符串转化为...
以下是一些使用json-lib将Java数据结构转换为JSON的例子: 1. 将List集合转换为JSON: ```java List<String> list = new ArrayList(); list.add("first"); list.add("second"); JSONArray jsonArray2 = JSONArray....