Java에서 JSON 배열을 구문 분석하고 탐색하는 방법은 무엇입니까? JSON 배열 처리 기술을 마스터하세요.
현대 인터넷의 급속한 발전과 함께 JSON(JavaScript Object Notation)은 일반적으로 사용되는 데이터 교환 형식이 되었습니다. 간결하고 읽기 쉬우며 웹 개발 및 API 인터페이스의 데이터 전송에 매우 적합합니다. JAVA에서는 JSON 배열을 구문 분석하고 탐색하는 것이 매우 일반적인 작업입니다. 이 기사에서는 JAVA를 사용하여 JSON 배열을 구문 분석하고 해당 코드 예제를 제공하는 방법을 소개합니다.
먼저 JSON을 처리하려면 관련 라이브러리를 가져와야 합니다. JAVA에서는 Jackson, Gson 등과 같은 일부 타사 라이브러리를 사용할 수 있습니다. 여기서는 Jackson 라이브러리를 예로 들어 소개하겠습니다. 먼저 해당 종속성을 프로젝트에 추가합니다.
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency>
다음은 간단한 JSON 배열 예입니다.
[ { "name": "Alice", "age": 25 }, { "name": "Bob", "age": 28 }, { "name": "Charlie", "age": 30 } ]
다음으로 JAVA를 사용하여 이 JSON 배열을 구문 분석하고 탐색하는 방법을 살펴보겠습니다.
먼저 JSON에서 데이터를 매핑하기 위해 POJO 클래스(Plain Old Java Object)를 정의해야 합니다. 위의 JSON 배열 예에서는 Person
클래스를 정의할 수 있습니다: Person
类:
public class Person { private String name; private int age; // 省略getter和setter方法 }
然后,我们可以使用以下代码来解析JSON数组:
import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; public class JsonArrayParsingExample { public static void main(String[] args) { String json = "[{"name":"Alice","age":25},{"name":"Bob","age":28},{"name":"Charlie","age":30}]"; ObjectMapper objectMapper = new ObjectMapper(); try { Person[] persons = objectMapper.readValue(json, Person[].class); // 遍历数组 for (Person person : persons) { System.out.println("Name: " + person.getName() + ", Age: " + person.getAge()); } } catch (IOException e) { e.printStackTrace(); } } }
首先,我们创建了一个ObjectMapper
实例,它是Jackson库的核心类,用于处理JSON。然后,我们使用readValue
方法将JSON字符串转换为Person
对象的数组。最后,我们通过遍历数组,打印出每个人的姓名和年龄。
以上代码输出:
Name: Alice, Age: 25 Name: Bob, Age: 28 Name: Charlie, Age: 30
如果JSON数组中的每个对象具有不同的结构,我们可以使用JsonNode
对象来处理。JsonNode
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; public class JsonArrayParsingExample { public static void main(String[] args) { String json = "[{"name":"Alice","age":25},{"title":"Software Engineer","salary":5000}]"; ObjectMapper objectMapper = new ObjectMapper(); try { JsonNode[] nodes = objectMapper.readValue(json, JsonNode[].class); // 遍历数组 for (JsonNode node : nodes) { // 判断节点类型 if (node.has("name")) { String name = node.get("name").asText(); int age = node.get("age").asInt(); System.out.println("Name: " + name + ", Age: " + age); } else if (node.has("title")) { String title = node.get("title").asText(); int salary = node.get("salary").asInt(); System.out.println("Title: " + title + ", Salary: " + salary); } } } catch (IOException e) { e.printStackTrace(); } } }그런 다음 다음 코드를 사용하여 JSON 배열을 구문 분석할 수 있습니다.
Name: Alice, Age: 25 Title: Software Engineer, Salary: 5000먼저
ObjectMapper를 생성합니다. 인스턴스는 Jackson 라이브러리의 핵심 클래스이며 JSON을 처리하는 데 사용됩니다. 그런 다음 <code>readValue
메서드를 사용하여 JSON 문자열을 Person
개체 배열로 변환합니다. 마지막으로 배열을 반복하고 각 사람의 이름과 나이를 인쇄합니다. 위 코드 출력: 🎜rrreee🎜JSON 배열의 각 개체가 서로 다른 구조를 갖는 경우 JsonNode
개체를 사용하여 처리할 수 있습니다. JsonNode
는 Jackson 라이브러리에서 JSON 노드를 나타내는 데 사용되는 추상 클래스입니다. 다음은 다양한 구조의 JSON 배열을 처리하는 예입니다. 🎜rrreee🎜출력: 🎜rrreee🎜위는 JAVA에서 JSON 배열을 구문 분석하고 순회하는 간단한 예입니다. 이러한 기본 기술을 익히면 서버에서 반환된 JSON 데이터를 쉽게 처리하고 추가 처리 및 표시에 필요한 정보를 추출할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜위 내용은 JAVA에서 JSON 배열을 구문 분석하고 탐색하는 방법은 무엇입니까? JSON 배열 처리 기술을 마스터하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python 中有许多方法可以帮助我们理解代码的内部工作原理,良好的编程习惯,可以使我们的工作事半功倍!例如,我们最终可能会得到看起来很像下图中的代码。虽然不是最糟糕的,但是,我们需要扩展一些事情,例如:load_las_file 函数中的 f 和 d 代表什么?为什么我们要在 clay 函数中检查结果?这些函数需要什么类型?Floats? DataFrames?在本文中,我们将着重讨论如何通过文档、提示输入和正确的变量名称来提高应用程序/脚本的可读性的五个基本技巧。1. Comments我们可

随着直播业务的火爆,越来越多的网站和应用开始加入直播这项功能。PHP作为一种流行的服务器端语言,也可以用来开发高效的直播功能。当然,要实现一个稳定、高效的直播功能需要考虑很多问题。下面列出了使用PHP开发直播功能的十个技巧,帮助你更好地实现直播。选择合适的流媒体服务器PHP开发直播功能,首先需要考虑的就是流媒体服务器的选择。有很多流媒体服务器可以选择,比如常

PHP中的多表关联查询技巧关联查询是数据库查询的重要部分,特别是当你需要展示多个相关数据库表内的数据时。在PHP应用程序中,在使用MySQL等数据库时,多表关联查询经常会用到。多表关联的含义是,将一个表中的数据与另一个或多个表中的数据进行比较,在结果中将那些满足要求的行连接起来。在进行多表关联查询时,需要考虑表之间的关系,并使用合适的关联方法。下面介绍几种多

译者 | 赵青窕审校 | 孙淑娟你是否经常回头看看6个月前写的代码,想知道这段代码底是怎么回事?或者从别人手上接手项目,并且不知道从哪里开始?这样的情况对开发者来说是比较常见的。Python中有许多方法可以帮助我们理解代码的内部工作方式,因此当您从头来看代码或者写代码时,应该会更容易地从停止的地方继续下去。在此我给大家举个例子,我们可能会得到如下图所示的代码。这还不是最糟糕的,但有一些事情需要我们去确认,例如:在load_las_file函数中f和d代表什么?为什么我们要在clay函数中检查结果

1.简介我们在日常使用Python进行各种数据计算处理任务时,若想要获得明显的计算加速效果,最简单明了的方式就是想办法将默认运行在单个进程上的任务,扩展到使用多进程或多线程的方式执行。而对于我们这些从事数据分析工作的人员而言,以最简单的方式实现等价的加速运算的效果尤为重要,从而避免将时间过多花费在编写程序上。而今天的文章费老师我就来带大家学习如何利用joblib这个非常简单易用的库中的相关功能,来快速实现并行计算加速效果。2.使用joblib进行并行计算作为一个被广泛使用的第三方Python库(

对于数据科学,Python通常被广泛地用于进行数据的处理和转换,它提供了强大的数据结构处理的函数,使数据处理更加灵活,这里说的“灵活性”是什么意思?这意味着在Python中总是有多种方法来实现相同的结果,我们总是有不同的方法并且需要从中选择易于使用、省时并能更好控制的方法。要掌握所有的这些方法是不可能的。所以这里列出了在处理任何类型的数据时应该知道的4个Python技巧。列表推导式ListComprehension是创建列表的一种优雅且最符合python语言的方法。与for循环和if语句相比,列

整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作。但是如果问题很复杂,可能有更好的方法来解决:user_input="Thisnstringhastsomewhitespaces...rn"character_map={ord('n'):'',ord('t'):'',ord('r'):None}user_input.translate(charact

近年来,随着网络信息的急剧增长,网络爬虫技术在互联网行业中扮演着越来越重要的角色。其中,Go语言的出现为网络爬虫的开发带来了诸多优势,如高速度、高并发、低内存占用等。本文将介绍一些Go语言中的网络爬虫开发技巧,帮助开发者更快更好地进行网络爬虫项目开发。一、如何选择合适的HTTP客户端在Go语言中,有多种HTTP请求库可供选择,如net/http、GoRequ


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

뜨거운 주제



