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

判断是否是json字符串

一、在isJson.js文件里创建一个isJson类并抛出

/*** isJson 类用于判断一个字符串是否为有效的 JSON 字符串。* @class isJson* @param {string} str - 要判断的字符串。* @returns {boolean} 如果字符串是有效的 JSON 字符串,则返回 true;否则返回 false。*/
class isJson {handler(str) {// 如果 str 不是字符串类型,直接返回 false。if (typeof str !== 'string') {return false}// 替换字符串中的转义字符和非标准 JSON 格式。str = str.replace(/\\(?:["\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, '')// 使用正则表达式检查字符串是否符合 JSON 格式。return (/^[\],:{}\s]*$/.test(str))}
}// 导出默认的 isJson 类实例。
export default isJson

二、使用
2.1、在需要的文件中引入isJson

import IsJson from '@/utils/isJson'

2.2、声明类

let isJson = new IsJson()

2.3、调用

const jsonString = '{"name": "John", "age": 30}'
// 调用 isJson.handler 方法来判断字符串是否为有效的 JSON
const isJSON = isJson.handler(jsonString)if (isJSON) {console.log("字符串是有效的 JSON 字符串")
} else {console.log("字符串不是有效的 JSON 字符串")
}

相关文章:

判断是否是json字符串

一、在isJson.js文件里创建一个isJson类并抛出 /*** isJson 类用于判断一个字符串是否为有效的 JSON 字符串。* class isJson* param {string} str - 要判断的字符串。* returns {boolean} 如果字符串是有效的 JSON 字符串,则返回 true;否则返回 false。…...

SpringBoot集成Minio(接上文)

如果启动项目出现下面错误,把minio的版本更换为低版本的,我最初用的是8.5.7版本的出现下面错误,后面一直调低版本发现8.2.2,8.3.0都是可以的。(因为我需要用8.5.7的版本所以调了别的依赖的版本,大家可以根据…...

更新 torchtext 造成的torch版本不匹配的问题

更新 torchtext 造成的torch版本不匹配的问题 - pip 原来的版本配置 cuda11.6 torch-GPU 1.13.1 如果直接pip update torchtext 会卸载原来的torch然后默认安装CPU版本,很烦。网上的各种方法都是推荐conda.但是我一直都是pip。因此考虑pip 的解决办法。 解决办…...

flutter资源

开发者平台 腾讯云 https://cloud.tencent.com/developer/article/1902681 掘金 stackoverflow 个人博主 Magic旭 https://www.jianshu.com/u/f9b0b77d6038 J船长 https://juejin.cn/user/1820446987136903/posts 老孟 http://www.laomengit.com/flutter/widgets/Theme.html#t…...

C++经典程序

C有许多经典的程序示例&#xff0c;以下是其中一些简单但常见的例子&#xff0c;以帮助你更好地了解C语言的基本概念。 1. **Hello World程序:** cpp #include <iostream> int main() { std::cout << "Hello, World!" << std…...

Java多线程-Thread类的run方法

Java多线程-Thread类的run方法 一、背景二、研究Thread类的start()源码1、源码&#xff08;比较短&#xff0c;贴一下&#xff09;1.1 重点&#xff1a;start0(); 三、研究Thread类的run()源码1、源码&#xff08;很关键&#xff0c;必须贴&#xff09; 四、创建线程的2种方式1…...

java基础之Java8新特性-方法引入

目录 1.简介 2.方法引入 方法引入遵循规范 方法引入种类 1.静态方法引入 2.对象方法引入 3.实例方法引入 4.构造函数引入 1.简介 方法引用是 Java 8 中引入的另一个重要特性&#xff0c;它提供了一种简洁的语法来直接引用现有方法或构造函数。方法引用可以看作是 Lambd…...

K8S中的hostPort、NodePort 、targetPort、port、containerPort 的区别

Dockerfile的EXPOSE Dockerfile中端口的声明: EXPOSE <端口1> [<端口2>...] 所以:EXPOSE的 第一个作用:只是说明docker容器开放了哪些端口,并没有将这些端口实际开放了出来!更多的作用是告诉运维人员或容器操作人员我开放了容器的哪些端口,只是一种说明。 …...

SpringBoot整合FreeMarker模板引擎

中文官方参考手册 http://freemarker.foofun.cn/ 1.先加入FreeMarker依赖 <dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version> </dependency>2.新建一个FreeMark…...

编程基础 - 变量与常量

编程基础 - 变量与常量 返回序言及专栏目录 文章目录 编程基础 - 变量与常量前言一、变量是什么&#xff1f;二、为什么要有变量三、局部变量和全局变量四、常量五、只读变量小结 前言 变量是编程最重要知识点之一&#xff0c;从根本上讲&#xff0c;编程就是对数据的操作&a…...

Linux入门攻坚——12、Linux网络属性配置相关知识2

CentOS 7网络属性配置&#xff1a; 传统命名机制&#xff1a;以太网eth[0,1,2,...]&#xff0c;wlan[0,1,2...] 可预测功能的命名机制&#xff1a; udev支持多种不同的命名方案&#xff1a; Firmware &#xff0c;拓扑结构 在对待设备文件这块&#xff0c;Linux改…...

如何自己实现一个分布式事务

实现分布式事务是一个复杂的过程&#xff0c;它需要精心设计并考虑数据的一致性、系统的可用性和分区容错能力。分布式事务确保在分布式系统中&#xff0c;即使是跨多个数据库、服务或消息队列&#xff0c;事务要么完全成功&#xff0c;要么完全失败。 以下是实现分布式事务的…...

使用Nonebot编写QQ机器人

使用 NoneBot 这个工具&#xff0c;来编写 QQ 机器人。 安装基础软件 一、安装 NoneBot 库 直接使用 pip 安装即可 pip install nonebot二、安装酷Q 软件和 HTTP API 插件 酷Q 软件可以直接到官网下载&#xff0c;https://cqp.cc/b/news&#xff0c;或者可以到网盘下载&am…...

认识SpringBoot中的条件注解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…...

使用PAI-DSW搭建基于LangChain的检索知识库问答机器人

教程简述 在本教程中&#xff0c;您将学习如何在阿里云交互式建模&#xff08;PAI-DSW&#xff09;中&#xff0c;基于LangChain的检索知识库实现知识问答。旨在建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 LangChain是一个开源的框架&#xff0c…...

优雅的通过Shell脚本生成Go的程序包

前言 随着Go语言的普及&#xff0c;越来越多的开发人员选择使用Go编写代码。虽然越来越多的公司项目已使用持续集成/持续部署&#xff08;CI/CD&#xff09;工具&#xff0c;用于自动化构建、测试和部署Go程序包&#xff0c;但存在一些部署在ECS服务器的Go程序包或需要手动编译…...

益生菌抗癌?补充这种益生菌,抑制肝癌,还改善肠道健康

撰文 | 宋文法 肠道菌群&#xff0c;是人体不可分割的组成部分&#xff0c;生活在我们肠道内的数万亿细菌对健康起着重要作用&#xff0c;它们影响着人的新陈代谢、消化能力、抵御感染、控制人体对药物的反应&#xff0c;甚至还能预防某些癌症。 非酒精性脂肪肝病&#xff0c;是…...

LLM漫谈(二)| QAnything支持任意格式文件或数据库的本地知识库问答系统

一、QAnything介绍 QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统&#xff0c;可断网安装使用。 您的任何格式的本地文件都可以往里扔&#xff0c;即可获得准确、快速、靠谱的问答体验。 目前已支持格式: PDF&…...

Linux环境vscode clang-format格式化:vscode clang format command is not available亲测有效!

问题现象 vscode安装了clang-format插件&#xff0c;但是使用就报错 问题原因 设置中配置的clang-format插件工具路径不正确。 解决方案-亲测有效&#xff01; 确认本地安装了clang-format工具&#xff1a;终端输入clang-format&#xff08;也可能是clang-format-13等版本…...

Vue3前端 响应式数据 知识点

一、ref(基本类型数据&#xff0c;也可以定义对象类型的响应式数据。此时底层用的还是reactive) ref 创建基本类型的响应式数据 作用:定义响应式变量语法: let xxx ref(初始值)返回值: 一个 RefImp1 的实例对象&#xff0c;简称 ref对象或ref&#xff0c;ref 对象的 value 属…...

如何轻松实现Cursor Pro破解:5步完整方案让AI编程助手永久免费使用

如何轻松实现Cursor Pro破解&#xff1a;5步完整方案让AI编程助手永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reac…...

CipherGuard:编译器级密文侧信道攻击防护技术解析

1. CipherGuard技术背景与核心挑战密文侧信道攻击&#xff08;Ciphertext Side-Channel Attacks&#xff09;已成为现代可信执行环境&#xff08;TEE&#xff09;中最棘手的安全威胁之一。这类攻击不直接破解加密算法本身&#xff0c;而是通过分析加密操作执行过程中产生的内存…...

铝板椭圆成像无线传输损伤检测【附仿真】

✨ 长期致力于兰姆波、虚拟时间反转、损伤成像、压电陶瓷研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;铝板Lamb波频散特性与压电陶瓷PZT优化&#…...

单芯片编码器技术解析与运动控制革新

1. 单芯片编码器技术解析与运动控制革新在工业自动化与精密运动控制领域&#xff0c;编码器如同系统的"感官神经"&#xff0c;实时捕捉机械运动的细微变化。传统模块化编码器虽然提供了即插即用的便利性&#xff0c;但其固定参数和有限的可配置性往往成为性能提升的瓶…...

从PDF到智能问答:我用多模态GraphRAG搭建知识库问答系统,效果惊艳!

本文介绍了如何搭建一个完整的多模态知识库问答系统&#xff0c;解决传统RAG在文档解析和检索质量上的痛点。通过MinerU解析文档、LangExtract抽取信息、构建Neo4j知识图谱和Milvus向量索引&#xff0c;结合LangChain Agent实现多跳推理&#xff0c;最终通过FastAPI和React呈现…...

Hotkey Detective终极指南:3分钟快速定位Windows热键冲突的完整教程

Hotkey Detective终极指南&#xff1a;3分钟快速定位Windows热键冲突的完整教程 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

2026年三款最值得在线预约小程序,解决您的预约难题

本文围绕在线预约小程序这一核心主题展开&#xff0c;系统梳理了2026年主流平台的特性与差异。内容涵盖微信、支付宝、抖音三大平台的功能对比、适用场景及操作流程解析&#xff0c;并结合实际案例深度剖析技术实现原理。同时提供选型指南与实操建议&#xff0c;帮助用户根据业…...

Nix与Helm结合:实现声明式Kubernetes部署的确定性构建

1. 项目概述&#xff1a;当 Helm 遇见 Nix&#xff0c;一种声明式的新思路如果你和我一样&#xff0c;长期在 Kubernetes 生态里折腾&#xff0c;肯定对 Helm 又爱又恨。爱的是它用模板和 Values 文件&#xff0c;把一堆零散的 Kubernetes 资源打包成一个可配置、可版本化的“应…...

从零到一:翁恺C语言MOOC实战习题精解与编程思维构建

1. 为什么选择翁恺老师的C语言课程&#xff1f; 作为国内最受欢迎的编程入门课程之一&#xff0c;翁恺老师在MOOC平台上的C语言课程已经帮助超过百万学习者打开了编程世界的大门。我当年自学C语言时&#xff0c;也是从这套课程起步的。与其他课程相比&#xff0c;翁老师的教学有…...

从零构建:深入理解自治系统与BGP协议的核心机制

1. 自治系统与BGP协议的前世今生 第一次听说"自治系统"这个词时&#xff0c;我脑海中浮现的是科幻电影里的智能机器人。实际上&#xff0c;它指的是互联网中由单一组织管理的网络区域。想象一下&#xff0c;每个自治系统就像城市里的一个独立社区&#xff0c;有自己的…...