版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
首先写一个java类,需要导入一个包import org.json.*;这个包jdk是没有的,要下载一个jar包,这个jar包直接在百度上搜索org.json相关jar包,下载就行,导入idea中,
这4个JSON类库分别为:Gson,FastJson,Jackson,Json-lib。
Java使用javax.json解释json数据
https://mvnrepository.com/artifact/javax.json/javax.json-api/1.0
javax.json下载
导入Java环境中
import java.io.StringReader;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import javax.json.JsonValue;
/**
* @author: 毛利
*/
public class Main {
public static void main(String[] args) {
String personJSONData =
" {" +
" \"name\": \"maoli\", " +
" \"age\" : 20, " +
" \"isMarried\" : false, " +
" \"address\": { " +
" \"street\": \"#1234, Main Street\", " +
" \"zipCode\": \"123456\" " +
" }, " +
" \"phoneNumbers\": [\"123456789\", \"11-111-1111\"] " +
" }";
// 创建StringReader 读取 json ,生成reader对象
JsonReader reader = Json.createReader(new StringReader(personJSONData));
// 读取reader
JsonObject personObject = reader.readObject();
reader.close();
// {"name":"maoli","age":20,"isMarried":false,"address":{"street":"#1234, Main Street","zipCode":"123456"},"phoneNumbers":["011-111-1111","11-111-1111"]}
System.out.println(personObject);
// 通过get方法遍历json字符串
System.out.println("Name : " + personObject.getString("name"));
System.out.println("Age : " + personObject.getInt("age"));
System.out.println("Married: " + personObject.getBoolean("isMarried"));
// 类似python字典方法遍历
JsonObject addressObject = personObject.getJsonObject("address");
System.out.println("Address: ");
System.out.println(addressObject.getString("street"));
System.out.println(addressObject.getString("zipCode"));
System.out.println("Phone : ");
JsonArray phoneNumbersArray = personObject.getJsonArray("phoneNumbers");
// jsonValue
for (JsonValue jsonValue : phoneNumbersArray) {
System.out.println(jsonValue.toString());
}
}
}
{"name":"maoli","age":20,"isMarried":false,"address":{"street":"#1234, Main Street","zipCode":"123456"},"phoneNumbers":["123456789","11-111-1111"]}
Name : maoli
Age : 20
Married: false
Address:
#1234, Main Street
123456
Phone :
123456789
123456789
11-111-1111
11-111-1111
使用maver创建工程
https://mvnrepository.com/artifact/javax.json/javax.json-api
坑要添加org.glassfish
<!-- https://mvnrepository.com/artifact/javax.json/javax.json-api -->
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>