一、JSON的概念
在介绍jsonjar包之前,我们先来了解一下JSON。JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它以易于读写及便于机器解析的方式设计,是一种完全独立于语言的数据格式。JSON由两结构:“名称/值”对的集合(又称对象)和值的有序列表(数组)组成。
JSON的特点有:
1. 易于人阅读和编写,也易于机器解析和生成
2. 轻量级的文本格式,传输和解析都很快速
3. 明确定义了数据类型,支持多种语言之间的数据交换
二、jsonjar包
jsonjar是Java中的JSON库,提供了较为完整的JSON读写功能,支持从JSON字符串、数据、流读取JSON对象,并可以将Java对象转换为JSON字符串。jsonjar的jar包名为json.jar,可以通过Maven等方式引入项目中。
三、JSON对象的生成与解析
1. 生成JSON对象
我们可以使用JSONObject类来生成一个JSON对象。JSONObject可以根据键值对来创建JSON对象,这个键值对的数据类型可以是Boolean、Number、String、JSONArray、JSONObject或者null。下面是一个生成JSON对象示例的代码:
JSONObject obj = new JSONObject(); obj.put("name","张三"); obj.put("age",18); obj.put("married",false); System.out.println(obj.toString());
运行结果为:
{"name":"张三","married":false,"age":18}
上述代码将张三的姓名、年龄、是否已婚信息存放在JSON对象中,并将JSON对象转换为字符串输出。可以看到,生成的JSON对象符合JSON的语法规则,使用了双引号包裹每个键名和字符串值。
2. 解析JSON对象
通过JSON库解析JSON对象通常包含两步:使用JSON字符串创建JSON对象,对JSON对象进行操作。我们可以使用JSON库的JSONObject、JSONArray类获取JSON对象中存储的数据。下面是一个解析JSON对象示例的代码:
String jsonStr = "{\"name\":\"张三\",\"married\":false,\"age\":18}"; JSONObject obj = new JSONObject(jsonStr); String name = obj.getString("name"); int age = obj.getInt("age"); boolean married = obj.getBoolean("married");
运行结果为:
name: 张三 age: 18 married: false
上述代码使用JSON字符串创建了JSON对象,并从JSON对象中获取需要的信息,最后将信息输出到控制台。可以看到,解析的结果与生成的JSON对象一致。
四、JSON数组的生成与解析
1. 生成JSON数组
与JSONObject类似,JSONArray类也可以被用来创建JSON数组。一个JSONArray实例可以包含多个JSON数据类型,例如:Boolean、Number、String、JSONArray、JSONObject或者null。下面是一个生成JSON数组示例的代码:
JSONArray arr = new JSONArray(); arr.put("Java"); arr.put("Python"); arr.put("JavaScript"); System.out.println(arr.toString());
运行结果为:
["Java","Python","JavaScript"]
上述代码将Java、Python和JavaScript存放到一个JSON数组中,并将JSON数组转换为字符串输出。可以看到,生成的JSON数组也符合JSON的语法规则。
2. 解析JSON数组
与JSONObject类似,JSONArray类也提供了一系列方法来获取JSON数组中的内容。下面是一个解析JSON数组示例的代码:
String jsonStr = "[\"Java\",\"Python\",\"JavaScript\"]"; JSONArray arr = new JSONArray(jsonStr); for (int i = 0; i < arr.length(); i++) { System.out.println(arr.getString(i)); }
运行结果为:
Java Python JavaScript
上述代码将JSON字符串转换为JSON数组,并逐个输出JSON数组中的值。可以看到,解析的结果与生成的JSON数组一致。
五、总结
本文介绍了JSON的特点、jsonjar包的基本使用,包括JSON对象和JSON数组的生成与解析。jsonjar是一种非常实用的JSON库,可以方便地满足Java项目中的JSON解析与生成需求,提高开发效率。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238707.html