使用fastjson解析json格式数据

news2024/12/22 19:14:34

在java里面无法直接解析JSON格式的字符串或文本,这时候我们就需要一个解析json格式的库,我们这里用fastjson,接下来的代码操作如下:

1、导入依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.31</version>
</dependency>

2、解析json内容

import com.alibaba.fastjson.{JSON, JSONArray}

object Demo10JSON {
  def main(args: Array[String]): Unit = {
    val jsonStr =
      """
        |[
        |    {
        |        "name":"张三",
        |        "age":23,
        |        "sex":"男"
        |    },
        |    {
        |        "name":"李四",
        |        "age":24,
        |        "sex":"男"
        |    }
        |]
        |""".stripMargin

    //使用fastjson解析json格式数据
    val users: JSONArray = JSON.parseArray(jsonStr)
    //解析数据
    //自定义类的字段名和类型需要和json字符串中保持一致
    //classOf :scala中获取类对象的方法
    val user: User = users.getObject(1, classOf[User])
    println(user)
    println(user.getName)
//一次获取JSON里面所有内容
     for (i <- 0 until(users.size())){
       val user: User = users.getObject(i, classOf[User])
       println(s"第${i}个JSON元素内容为:\n姓名:${user.getName},\n年龄:${user.getAge},\n性别:${user.getSex}")
     }
  }
}

注意写JSON的时候要导包

 User类:


public class User {
    private String name;
    private Long age;
    private String sex;

    public User(String name, Long age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public User() {
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getAge() {
        return age;
    }

    public void setAge(Long age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【阿克曼odom里程计解算】:从下位机到上位机,从原理到代码实现

前言 本文将从阿克曼的里程计计算原理出发&#xff0c;讲解下位机STM32如何对电机编码器数据进行整合计算&#xff0c;再通过串口进行上下位机进行数据转发&#xff0c;最终在Linux板端对下位机发送来的数据进行积分计算并最终通过ROS的odometry数据进行全局广播。本文使用到的…

JavaScript 数组简单学习

目录 1. 数组 1.1 介绍 1.2 基本使用 1.2.1 声明语法 1.2.2 取值语法 1.2.3 术语 1.3 案例 1. 数组 1.1 介绍 1.2 基本使用 1.2.1 声明语法 1.2.2 取值语法 1.2.3 术语 1.3 案例

自动化测试selenium篇(四)

1.定位一组元素 1.0 小问题 当运行测试代码程序需要跳转到页面&#xff0c;由于没有授权&#xff0c;导致页面不能成功跳转&#xff0c;且出现下面的情况&#xff1a; 步骤一&#xff1a;进入到idea&#xff0c;点击设置&#xff0c;如下所示&#xff1a; 进行上图操作之后&am…

图为大模型一体机的优秀落地案例:图为语伴

随着客户对即时、准确信息和解决方案的期望不断提升&#xff0c;企业面临着处理大量客户咨询、减少人力成本、提高服务效率等多重挑战。 而图为大模型一体机的诞生&#xff0c;就是为了应对传统的人工客服在处理客户咨询时&#xff0c;其产生的数据如聊天记录、通话记录等&…

中科院认可SCI期刊精选合集:5本国人友好刊,涵盖各领域!

本期&#xff0c;科检易学术将为大家精心推荐一系列既享有盛誉又相对容易发表的期刊。这些期刊不仅在各自的学术领域内具有较高的认可度和影响力&#xff0c;同时也以对国内研究者的友好态度而闻名。 无论是初出茅庐的研究新手还是经验丰富的学者&#xff0c;都能在这份涵盖多…

当今SNARKs全景

1. 引言 前序博客有&#xff1a; ZKP历史总览SNARK原理示例SNARK性能及安全——Prover篇SNARK性能及安全——Verifier篇Transparent 且 Post-quantum zkSNARKsSNARK DesignRollup项目的SNARK景观 SNARKs因&#xff1a; proof size证明时长验证时长密码学信任假设是否需要tr…

Chatgpt 原理解构

一、背景知识 1. 自然语言处理的发展历程 自然语言处理在不同时期呈现出不同的特点和发展态势。萌芽期&#xff0c;艾伦・图灵在 1936 年提出 “图灵机” 概念&#xff0c;为计算机诞生奠定基础&#xff0c;1950 年他提出著名的 “图灵测试”&#xff0c;预见了计算机处理自然…

linux 配置nfs

服务器端 sudo apt update sudo apt-get install nfs-kernel-server配置NFS服务器 mkdir /home/aa/workspace/nfsdir chmod 777 /home/aa/workspace/nfsdir sudo vim /etc/exports添加这个语句 /home/aa/workspace/nfsdir *(rw,sync,no_root_squash,insecure)sudo systemctl …

【音频生成】mac安装ffmpeg

前言 ffmpeg是一个开放源代码的自由软件&#xff0c;可以执行音频和视频多种格式的录影、转换、串流功能。算的上是进行音频处理的基本软件了&#xff0c;也是python包pydub的依赖。如果没有安装ffmpeg&#xff0c;就会报这个错。 FileNotFoundError: [Errno 2] No such file…

灯塔:JavaWeb笔记

什么是HTML、CSS? HTML (HypeText Markup Lanage):超文本标记语言。 超文本&#xff1a;超过了文本的限制&#xff0c;比普通的文本更强大。除了文字信息&#xff0c;还可以定义图片、音频、视频等内容。 标记语言&#xff1a;由表签构成的语言 HTML 标签都是提前预定义好的…

IT监控可视化:运维团队的智慧之眼

在当今这个数字化时代&#xff0c;IT系统已成为企业运营的核心支柱。随着业务的不断扩展和IT架构的日益复杂&#xff0c;运维团队面临着前所未有的挑战。如何高效、准确地监控和管理IT资源&#xff0c;确保系统的稳定性和可用性&#xff0c;成为了运维工作的重中之重。而IT监控…

利用可解释性技术增强制造质量预测模型

概述 论文地址&#xff1a;https://arxiv.org/abs/2403.18731 本研究提出了一种利用可解释性技术提高机器学习&#xff08;ML&#xff09;模型性能的方法。该方法已用于铣削质量预测&#xff0c;这一过程首先训练 ML 模型&#xff0c;然后使用可解释性技术识别不需要的特征并去…

库函数相关(上一篇补充)

一、创建自己的头文件 在当前目录下创建一个my_head.h将这个文件移动到/usr/include目录 #ifndef __MY_HEAD_H__ #define __MY_HEAD_H__#include <stdio.h> #include <errno.h> #include <string.h>#define PRINT_ERR(s) do{\printf("%s %s %d\n&quo…

MongoDB初学者入门教学:与MySQL的对比理解

&#x1f3dd;️ 博主介绍 大家好&#xff0c;我是一个搬砖的农民工&#xff0c;很高兴认识大家 &#x1f60a; ~ &#x1f468;‍&#x1f393; 个人介绍&#xff1a;本人是一名后端Java开发工程师&#xff0c;坐标北京 ~ &#x1f389; 感谢关注 &#x1f4d6; 一起学习 &…

JavaEE: HTTPS的魅力与优势揭秘

文章目录 HTTPSHTTPS 是什么HTTPS 基本工作过程Fiddle 等抓包工具,为啥能解析 HTTPS 的数据? HTTPS HTTPS 是什么 HTTPS 是一个应用层协议,是在 HTTP 协议的基础上引入了一个加密层. 几个核心概念: 明文: 要传输的原始数据.密文: 把明文进行加密之后得到一个让别人不能理解…

【算法篇】三道题理解什么是递归,回溯和剪枝

递归&#xff0c;回溯&#xff0c;剪枝 想必大家再学习算法知识的路上经常听到回溯&#xff0c;剪枝类似的概念&#xff0c;对于初学者来说&#xff0c;很容易把他们理解成一种新的算法思想&#xff0c;其实回溯和剪枝只是在递归的基础上稍加修改&#xff0c;对于解决某些特定问…

k8s的pod的管理

常用的Pod基础命令 列出所有命名空间中的所有Pod kubectl get pods --all-namespaces 列出指定命名空间中的所有Pod kubectl get pods -n <namespace> 显示指定Pod的详细信息&#xff0c;包括状态、事件等 kubectl describe pod <pod-name> -n <namespace>…

机器学习入门(一)

一、机器学习概述 1、人工智能 像人一样智能的综合与分析&#xff0c;机器模拟人类。 是一个系统&#xff0c;像人那样思考&#xff0c;像人那样理性思考。 是一个系统&#xff0c;像人那样活动&#xff0c;像人那样合理的系统 2、机器学习 让机器自动学习&#xff0c;而不…

SAP将假脱机(Spool requests)内容转换为PDF文档[RSTXPDFT4]

将假脱机(Spool requests)内容转换为PDF文档[RSTXPDFT4] 有时需要将Spool中的内容导出成PDF文件&#xff0c;sap提供了一个标准程序RSTXPDFT4可以实现此功能。 1, Tcode:SP01, 进入spool requests list 2, SE38 运行程序RSTXPDFT4 输入spool reqeust号码18680&#xff0c;然后…

excel 单元格嵌入图片

1.图片右键,设置图片格式 2.属性 随单元格改为位置和大小 这样的话&#xff0c;图片就会嵌入到单元格&#xff0c;也会跟着单元格的大小而改变