Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java解析多层嵌套json

作者:我愿等你贰年〃   发布日期:2026-06-13   浏览:64

import org.json.JSONArray;
import org.json.JSONObject;

public class JsonParser {

    public static void main(String[] args) {
        // 示例多层嵌套JSON字符串
        String jsonString = "{ \"person\": { \"name\": \"John\", \"age\": 30, \"address\": { \"city\": \"New York\", \"zipcode\": \"10001\" }, \"phones\": [ { \"type\": \"home\", \"number\": \"123-456-7890\" }, { \"type\": \"work\", \"number\": \"987-654-3210\" } ] } }";

        // 将JSON字符串解析为JSONObject
        JSONObject jsonObject = new JSONObject(jsonString);

        // 获取第一层的 "person" 对象
        JSONObject person = jsonObject.getJSONObject("person");

        // 获取 "person" 对象中的简单字段
        String name = person.getString("name");
        int age = person.getInt("age");

        // 获取嵌套的 "address" 对象
        JSONObject address = person.getJSONObject("address");
        String city = address.getString("city");
        String zipcode = address.getString("zipcode");

        // 获取嵌套的 "phones" 数组
        JSONArray phones = person.getJSONArray("phones");

        // 遍历 "phones" 数组并解析每个对象
        for (int i = 0; i < phones.length(); i++) {
            JSONObject phone = phones.getJSONObject(i);
            String type = phone.getString("type");
            String number = phone.getString("number");
            System.out.println("Phone Type: " + type + ", Number: " + number);
        }

        // 打印解析结果
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("City: " + city);
        System.out.println("Zipcode: " + zipcode);
    }
}

解释说明:

  1. 导入库:使用 org.json 库来处理 JSON 数据。你可以通过 Maven 或 Gradle 添加依赖,或者直接下载 JAR 文件。

  2. JSON 字符串:定义了一个多层嵌套的 JSON 字符串 jsonString,包含一个 person 对象,其中又嵌套了 address 对象和 phones 数组。

  3. 解析 JSON

    • 使用 new JSONObject(jsonString) 将 JSON 字符串解析为 JSONObject
    • 使用 getJSONObject 方法获取嵌套的对象(如 personaddress)。
    • 使用 getStringgetInt 方法获取简单字段(如 nameage)。
    • 使用 getJSONArray 方法获取数组(如 phones),并通过遍历数组解析每个元素。
  4. 输出结果:将解析后的数据打印到控制台。

这段代码展示了如何解析多层嵌套的 JSON 数据,并提取其中的值进行处理。

上一篇:java int 转 string

下一篇:java解压rar文件

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站