iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java之JsonArray用法讲解
  • 640
分享到

Java之JsonArray用法讲解

2024-04-02 19:04:59 640人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

需求: 四个字符串: "[\"HDC-51\"]", "[\"HDC-51\", \"HDC-55\"]", "[\"HDC-50\", \"HDC-55\", \"HD

需求:


四个字符串:
	 "[\"HDC-51\"]",
	"[\"HDC-51\", \"HDC-55\"]",
	"[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]",
	"[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]",
分别向四个字符串中添加String MacType ="HDC-50" ,
并判断字符串中各个元素是否与macType相同, 相同则不添加, 不相同则添加.
最后输出四个字符串,要求格式同开始字符串格式一致.

思路:


这是不是普通的字符串, 而是JSON格式的字符串,
所以在判断的时候, 可以选择将多个字符串转成jsonArray格式

延伸:


通常我们在数据库中, 一个字段存储多个字符串的数据, 一般以json格式存入,
更新数据的时候,使用jsonArray转化更方便

方法一: 普通方式,不使用jsonArray


	public class Test {
  	  public static void main(String[] args) {
  	  
		List<String> contentList = new ArrayList<>();
        contentList.add("[\"HDC-51\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\"]");
        contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]");
        System.out.println(contentList);
        String macType ="HDC-50";    

		for (String content : contentList) {
            
            //去掉content 中的中括号
            String contentStr1 = content.replaceAll("[\\[\\]]", "");
            List<String> content1= Arrays.asList(contentStr1.split(","));
            
            List<String> list = new ArrayList<>();

            for (String string : content1) {
                list.add(string);
            }
            
            //判断content中是否已经包含macType
            boolean flag = false;
            for (String string : list) {
              //去掉字符串的引号
                String str= string.replace("\"", "");
                if (macType.equals(str)) {
                   flag = true; 
                   break;
                }        
            }
            
            //如果没有macType,则添加
            if (flag == false) {
                StringBuilder sb = new StringBuilder();
                String macTypeStr = sb.append("\"").append(macType).append("\"").toString();
                list.add(macTypeStr);            
            }
            
            String newContent = list.toString();
            System.out.println(newContent);
        
        }            
  	  }
 	}

结果:

在这里插入图片描述

方法二: 使用JsonArray


	public class Test {
  	  public static void main(String[] args) {
  	  
		List<String> contentList = new ArrayList<>();
        contentList.add("[\"HDC-51\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\"]");
        contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]");
        System.out.println(contentList);
        String macType ="HDC-50";    

		for (String content : contentList) {
            
            try {
                JSONArray contentArray = JSONArray.parseArray(content);
                
                //System.out.println("contentArray前 : " + contentArray);
                if (!contentArray.contains(macType)) {
                    contentArray.add(macType);
                }
                System.out.println("contentArray后 : " + contentArray);
            } catch (Exception e) {
              
                e.printStackTrace();
            }
        }            
  	  }
 	}
			

控制台输出:

在这里插入图片描述

到此这篇关于Java之JsonArray用法讲解的文章就介绍到这了,更多相关Java之JsonArray用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java之JsonArray用法讲解

本文链接: https://www.lsjlt.com/news/132319.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java之JsonArray用法讲解
    需求: 四个字符串: "[\"HDC-51\"]", "[\"HDC-51\", \"HDC-55\"]", "[\"HDC-50\", \"HDC-55\", \"HD...
    99+
    2022-11-12
  • Java之JsonArray怎么用
    这篇文章主要为大家展示了“Java之JsonArray怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java之JsonArray怎么用”这篇文章吧。需求:四个字符串: "...
    99+
    2023-06-20
  • Java之String.format()方法案例讲解
    前言:  String.format()作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,这里根据查阅的资料做个学习笔记,整理成如下文章,供后续复习查阅。 一. f...
    99+
    2022-11-12
  • JavaScript之ECharts用法讲解
    前面做项目时用到ECharts,今天特此整理一下,作为笔记,同时希望帮助更多人。 首先简单介绍一下,ECharts是一个纯JavaScript图表库,底层依赖于轻量级的Canvas类...
    99+
    2022-11-12
  • java高级用法之注解和反射讲义
    前言 反射和注解在java中偏高级用法,一般在各种框架中被广泛应用,文章简单介绍下反射和注解的用法,希望对你的工作学习有一定帮助 java注解 什么是注解 Java 注解也就是An...
    99+
    2022-11-12
  • Golang 之协程的用法讲解
    一、Golang 线程和协程的区别   备注:需要区分进程、线程(内核级线程)、协程(用户级线程)三个概念。 进程、线程 和 协程 之间概念的区别 对于 进程、线程,都是有内核进行调...
    99+
    2022-11-12
  • Java之理解Redis回收算法LRU案例讲解
    如何通俗易懂的理解LRU算法? 1.LRU是什么? LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法,最早应用于Linux操作系统。 L...
    99+
    2022-11-12
  • Java之springcloud Sentinel案例讲解
    一、Sentinel是什么? Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。 它以流量为切入点,从流量控制、熔断降级、系统负载保护等多...
    99+
    2022-11-12
  • Spring注解之@Import使用方法讲解
    目录1. 前言2. 用法3. 源码分析1. 前言 Spring提供了@Import注解,用于向容器引入我们自定义的类,在许多注解中我们都会看到它的身影,比如MyBatis在整合Spr...
    99+
    2023-01-03
    Spring注解@Import Spring注解 Spring @Import
  • Java之常用类小结案例讲解
    Java常用类 包装类 由于Java语言中的基本类型不是面向对象,并不具备对象的性质,实际使用存在很多不便。Java在java.lang包中提供了八种基本类型对应的包装类,可以方便地...
    99+
    2022-11-12
  • Java之jpa入门教程讲解
    JPA快速入门介绍 一:什么是JPA JPA的英文全称是Java PersistenceAPI, 目的是给Java开发者提供对象关系映射工具用于在 Java应用程序开发中来管理关系数...
    99+
    2022-11-12
  • Java之操作Redis案例讲解
    首先 下载 jedis.jar包 然后再 工程设置里面找到Libraries,点击+。添加下载好的jedis.jar包。点击OK退出即可 创建Java_Control_Redis类...
    99+
    2022-11-12
  • java排序算法之_选择排序(实例讲解)
    选择排序是一种非常简单的排序算法,从字面意思我们就可以知道,选择就是从未排序好的序列中选择出最小(最大)的元素,然后与第 i 趟排序的第 i-1(数组中下标从 0 开始) 个位置的元素进行交换,第 i 个元素之前的序列就是已经排序好的序列。...
    99+
    2023-05-31
    java 选择排序 算法
  • Java之Jackson的基本使用案例讲解
    Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社 区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看...
    99+
    2022-11-12
  • Canvas开篇之drawBitmap方法讲解
    drawBitmap方法是Canvas类中的一个方法,用于在画布上绘制位图。方法签名:public void drawBitmap(...
    99+
    2023-09-13
    Canvas
  • Java之SpringCloudAlibaba Sentinel组件案例讲解
    Sentinel 是什么 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 官...
    99+
    2022-11-12
  • Java之SpringCloud nocos注册中心讲解
    一、nacos是什么? Nacos是用来发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助快速实现动态服务发现、服务配置、服务元数据及流量管理。 二、使用步骤 1.安...
    99+
    2022-11-12
  • Java之网络编程案例讲解
    Java基础之网络编程 基本概念 IP:每个电脑都有一个IP地址,在局域网内IP地址是可变的。 网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通...
    99+
    2022-11-12
  • Java 超详细讲解设计模式之原型模式讲解
    目录传统方式原型模式基本介绍原型模式在spring框架中源码分析深入讨论-浅讨论和深拷贝原型模式的注意事项和细节传统方式 克隆羊问题 现在有一只羊 tom,姓名为: tom,年龄为:...
    99+
    2022-11-13
  • Java BufferedOutputStream类的常用方法讲解
    目录BufferedOutputStream类的常用方法构造方式常用方法程序示例BufferedOutputStream深入分析代码准备原因分析手动刷盘buffer源码分析关于buf...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作