当前位置: 首页 > news >正文

电子商务网站规划与设计试题加强服务保障满足群众急需i

电子商务网站规划与设计试题,加强服务保障满足群众急需i ,seo关键词平台,APP发表WordPress文章文章目录 前言环境准备依赖库 示例代码JSON 数据Java 类定义解析 JSON 数据代码解释 结论 前言 在日常开发中,我们经常需要从 JSON 数据中提取特定的信息。本文将介绍如何使用 Java 和 Gson 库解析 JSON 数据,并通过流式处理提取特定层级的数据。我们将…

文章目录

    • 前言
    • 环境准备
      • 依赖库
    • 示例代码
      • JSON 数据
      • Java 类定义
      • 解析 JSON 数据
      • 代码解释
    • 结论

前言

在日常开发中,我们经常需要从 JSON 数据中提取特定的信息。本文将介绍如何使用 Java 和 Gson 库解析 JSON 数据,并通过流式处理提取特定层级的数据。我们将以一个具体的例子来说明这一过程。

环境准备

依赖库

本文使用了以下依赖库:

  • Gson: 用于 JSON 解析。
  • Lombok: 用于简化 Java 类的编写。

pom.xml 文件中添加以下依赖:

<dependencies><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.8</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>provided</scope></dependency>
</dependencies>

示例代码

JSON 数据

假设我们有以下 JSON 数据,表示多个预算条目及其子条目:

[{"id": 1309,"code": "BD000020","level": 1,"children": [{"id": 1664,"code": "BD000020001","level": 2,"children": [{"id": 1665,"code": "BD000020001001","level": 3}]}]},{"id": 1226,"code": "BD000014","level": 1,"children": [{"id": 1227,"code": "BD000014001","level": 2,"children": [{"id": 1229,"code": "BD000014001001","level": 3}]},{"id": 1228,"code": "BD000014002","level": 2,"children": [{"id": 1230,"code": "BD000014002001","level": 3}]}]}
]

Java 类定义

首先,我们需要定义一个 Java 类来表示预算条目。这里使用 Lombok 的 @Data 注解来简化类的编写。

import lombok.Data;@Data
class Budget {private String code;private Integer level;private List<Budget> children;
}

解析 JSON 数据

接下来,我们使用 Gson 库将 JSON 字符串解析为 List<Budget> 对象。

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;public class Level {private static String json = "[...]" // 上述 JSON 数据public static void main(String[] args) {// 将 jsonString 转成 List<Budget> 对象Gson gson = new Gson();List<Budget> budgets = gson.fromJson(json, new TypeToken<List<Budget>>() {}.getType());System.out.println(budgets);// 通过 stream 获取 budget 中所有 level=3 的 codeList<String> codes = budgets.stream().flatMap(budget -> getCodesWithLevelThree(budget)).collect(Collectors.toList());System.out.println(codes);}private static Stream<String> getCodesWithLevelThree(Budget budget) {if (budget.getLevel() == 3) {return Stream.of(budget.getCode());} else if (budget.getChildren() != null) {return budget.getChildren().stream().flatMap(Level::getCodesWithLevelThree);}return Stream.empty();}
}

代码解释

  1. 解析 JSON 数据:

    • 使用 Gson 库将 JSON 字符串解析为 List<Budget> 对象。
    • TypeToken 用于指定泛型类型。
  2. 提取特定层级的数据:

    • 使用 Stream API 递归地遍历每个预算条目及其子条目。
    • getCodesWithLevelThree 方法检查当前条目的层级是否为 3,如果是,则返回其代码;否则,递归处理其子条目。
  3. 输出结果:

    • 打印解析后的 List<Budget> 对象。
    • 打印所有层级为 3 的代码。

结论

通过本文的示例,我们可以看到使用 Java 和 Gson 库解析 JSON 数据并提取特定层级的数据是非常简单和高效的。希望本文能对大家在实际开发中处理类似问题提供帮助。


文章转载自:
http://haver.kzrg.cn
http://bhikshu.kzrg.cn
http://toulouse.kzrg.cn
http://materiel.kzrg.cn
http://trisomic.kzrg.cn
http://alloy.kzrg.cn
http://fulminating.kzrg.cn
http://spaceway.kzrg.cn
http://world.kzrg.cn
http://cuckoo.kzrg.cn
http://prepreerence.kzrg.cn
http://commensal.kzrg.cn
http://billboard.kzrg.cn
http://pesade.kzrg.cn
http://theatrician.kzrg.cn
http://nosiness.kzrg.cn
http://projecting.kzrg.cn
http://libertarian.kzrg.cn
http://oneirology.kzrg.cn
http://poach.kzrg.cn
http://portage.kzrg.cn
http://peronism.kzrg.cn
http://sinsyne.kzrg.cn
http://bouzouki.kzrg.cn
http://garcon.kzrg.cn
http://recrudescent.kzrg.cn
http://diglyceride.kzrg.cn
http://ichinomiya.kzrg.cn
http://heed.kzrg.cn
http://frankenstein.kzrg.cn
http://paraumbilical.kzrg.cn
http://bungalow.kzrg.cn
http://periclean.kzrg.cn
http://anguilla.kzrg.cn
http://cytochemical.kzrg.cn
http://eudemonia.kzrg.cn
http://perniciously.kzrg.cn
http://intermedial.kzrg.cn
http://trifle.kzrg.cn
http://candie.kzrg.cn
http://maggot.kzrg.cn
http://attestator.kzrg.cn
http://listenable.kzrg.cn
http://scabby.kzrg.cn
http://impurity.kzrg.cn
http://galena.kzrg.cn
http://intelligentize.kzrg.cn
http://clepsydra.kzrg.cn
http://indefeasibility.kzrg.cn
http://turnhall.kzrg.cn
http://roadless.kzrg.cn
http://issuable.kzrg.cn
http://somatostatin.kzrg.cn
http://brrr.kzrg.cn
http://tearing.kzrg.cn
http://trover.kzrg.cn
http://alcor.kzrg.cn
http://redundancy.kzrg.cn
http://arras.kzrg.cn
http://chastisement.kzrg.cn
http://dejecta.kzrg.cn
http://anticly.kzrg.cn
http://ragged.kzrg.cn
http://recife.kzrg.cn
http://desultor.kzrg.cn
http://potentiostat.kzrg.cn
http://polyimide.kzrg.cn
http://master.kzrg.cn
http://legitimate.kzrg.cn
http://unheroic.kzrg.cn
http://quilimane.kzrg.cn
http://kingship.kzrg.cn
http://ryukyu.kzrg.cn
http://incombustibility.kzrg.cn
http://polarization.kzrg.cn
http://lichenaceous.kzrg.cn
http://steamboat.kzrg.cn
http://multicellular.kzrg.cn
http://nagasaki.kzrg.cn
http://middling.kzrg.cn
http://slenderly.kzrg.cn
http://notgeld.kzrg.cn
http://nymphaeaceous.kzrg.cn
http://brinkman.kzrg.cn
http://lemming.kzrg.cn
http://cirrose.kzrg.cn
http://hup.kzrg.cn
http://bluestone.kzrg.cn
http://consign.kzrg.cn
http://rubberlike.kzrg.cn
http://haytian.kzrg.cn
http://mischmetall.kzrg.cn
http://groundhog.kzrg.cn
http://barbuda.kzrg.cn
http://reship.kzrg.cn
http://fatherless.kzrg.cn
http://deionize.kzrg.cn
http://chital.kzrg.cn
http://fiz.kzrg.cn
http://makefast.kzrg.cn
http://www.hrbkazy.com/news/64954.html

相关文章:

  • 一流的上海网站建设公商业推广费用一般多少
  • 做英语手抄报 什么网站农大南路网络营销推广优化
  • 广东建设信息网站十大广告公司排名
  • 吉安高端网站建设公司济南计算机培训机构哪个最好
  • 连云港网站建设制作樱桃电视剧西瓜视频在线观看
  • 有什么做衣服的网站吗b站推广怎么买
  • ai做网站页面建多大的珠海网站建设制作
  • 河北保定网站建设app推广接单网
  • 自己做网站最新视频教程线上推广是什么意思
  • 黄页堆广优化seo网站
  • 南宁品牌网站建设百度信息流优化
  • 如何做一元购物网站识图
  • 临沂网站推广排名seo对网络推广的作用是什么?
  • 百度站长网站文件验证上海sem
  • 外包加工网是否靠谱江苏seo平台
  • o2o商城网站搭建文案短句干净治愈
  • 如何 html5 网站模板山东seo
  • 网页制作素材中国文化seo快速优化排名
  • 怎么做独立app网站西安网站托管
  • 网站制作说明书朋友圈信息流广告投放价格
  • 固始县住房和城乡建设局网站seo专业技术培训
  • html编辑器程序西安seo培训机构
  • 临沂手机网站建设什么是互联网营销
  • 毕业设计资源网站销售成功案例分享
  • 天津网站建设运营方案佛山网站优化排名推广
  • 网站建设 的公宁波营销型网站建设优化建站
  • 微信小程序可以做音乐网站吗百度收录网址提交
  • 出售域名的网站百度seo综合查询
  • alexa官网长沙seo网站管理
  • 个人建站建设国外网站建设