Java中的解析json

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44510615/article/details/102718441

首先写一个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>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/102718441
今日推荐