仿网站wordpress 整合ckplayer

news/2025/9/22 17:15:39/文章来源:
仿网站,wordpress 整合ckplayer,网站建设网站管理,wordpress 适配前言 JSON 平时大家都会用到#xff0c;都不陌生#xff0c;今天就一起来实现一个 JSON 的可视化工具。 大概长成下面的样子#xff1a; 树展示 相比于现有的一些 JSON 格式化工具#xff0c;我们今天制作的这个小工具会把 JSON 转为树去表示。其中#xff1a; 橙色标…前言 JSON 平时大家都会用到都不陌生今天就一起来实现一个 JSON 的可视化工具。 大概长成下面的样子 树展示 相比于现有的一些 JSON 格式化工具我们今天制作的这个小工具会把 JSON 转为树去表示。其中 橙色标签表示 key蓝色标签表示 value绿色标签表示类型 Number String Object Array Null 左边是一个输入框右边是一个实时反馈的 JSON 可视化区域。下面来看一下大致的实现思路 当输入框的值变化时使用 JSON.parse 解析值如果是一个合法的 JSON 则进行下一步处理如果不是则把异常显示出来递归把 JSON 对象解析成数组树的结构主要会包含以下几个 key key 唯一标识后续用做复制路径title JSON 属性节点 keyvalue JSON 属性节点值isArrayProps 是否是数组的节点children 子节点type 值类型 const handleParse useCallback(debounce((value) {if (!value) {return;}try {const res JSON.parse(value);setJson(res);setError(null);setUpdateKey((key) key 1);setSearchValue();} catch (error) {setJson({});setError(error);}}, 300),[]);useEffect(() {handleParse(value);}, [value]);value 是输入框的输入值当输入值变化时解析 JSON 。获取到新的 JSON 值后开始递归处理组装成树结构 const treeData useMemo(() {const dfs (json, parentKey) {const res [];const keys Object.keys(json);for (const index in keys) {const key keys[index];const value json[key];res[index] {key: parentKey ? [${parentKey}][${key}] : [${key}],title: key,value: value ? value.toString() : value,isArrayProps: Array.isArray(json),children:typeof value object value ! null ? dfs(value, key) : [],type: upperFirst(value null? null: Array.isArray(value)? array: typeof value),};}return res;};try {return dfs(json, );} catch (error) {console.log(err, error);return [];}}, [json]);然后用一个树组件把它渲染出来 TreeshowIconshowLinetitleRender{renderTitle}key{updateKey}treeData{treeData}defaultExpandAll /其中我们希望自定义渲染树的每一个节点所以可以实现一个 titleRender 方法 const renderTitle (node) {return (div onClick{() copy}{!node.isArrayProps ? Tag colororange{node.title}/Tag : }{node.children.length 0 node.value ? (Tag colorblue{node.value}/Tag) : ()}Tag colorgreen{node.type}/Tag/div);}; 这样就完成了基础的功能逻辑及渲染 搜索 这里我们拓展一个根据关键词搜索的功能既可以搜索 key 也可以搜索 value 。 用到一个 Search 组件来搜集 keyword 。 Input.Searchstyle{{ marginBottom: 8 }}placeholderSearchonChange{(e) setSearchValue(e.target.value)} /然后当 keyword 变化的时候去匹配树节点中的属性值如果匹配到了就把对应的值标红。 const renderTitle (node) {const highlight (strTitle) {const index strTitle.indexOf(searchValue);const beforeStr strTitle.substring(0, index);const afterStr strTitle.slice(index searchValue.length);const title index -1 ? (span{beforeStr}span style{{ color: red }}{searchValue}/span{afterStr}/span) : (span{strTitle}/span);return title;};return (div onClick{() copy}{!node.isArrayProps ? (Tag colororange{highlight(node.title)}/Tag) : ()}{node.children.length 0 node.value ? (Tag colorblue{highlight(node.value)}/Tag) : ()}Tag colorgreen{node.type}/Tag/div);};最后实现出来的效果就是这样的 复制路径 我不知道大伙有过这样类似的需求改动一个 json 对象某个 key 对应的值。我之前是有过这样的场景那是在使用 Lottie 做动画的时候。 我需要对描述 Lottie 动画的 json 文件进行一些修改但往往这种文件层级非常深如果不借助一些工具是很难找到对应的值的路径是什么找不到路径就很难修改了。 那么我们有了这个工具之后就很轻松可以通过搜索复制的方式来找到某个值对应的路径。 Clipboard text{node.key} onCopy{() message.success(路径已复制)}div{!node.isArrayProps ? (Tag colororange{highlight(node.title)}/Tag) : ()}{node.children.length 0 node.value ? (Tag colorblue{highlight(node.value)}/Tag) : ()}Tag colorgreen{node.type}/Tag/div /Clipboard用一个复制组件包裹树节点点击的时候把节点的 key 属性复制到粘贴板。 这样就可以轻松获取到节点所对应的 key 了。 最后 以上就是本文的全部内容如果你感兴趣的话点点关注点点赞吧

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

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

相关文章

电子商务网站建设阶段连云港网站建设推广

MySQL:Explain执行计划 使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 认识explain EXPLAIN SELECT * FROM user_info i LEFT JOIN user_grade g on i.id …

网站推广塔山双喜wordpress评论qq

计算机是现代社会中不可或缺的工具,而CPU(中央处理器)则是计算机的核心组件。CPU负责执行指令和控制计算机的各种操作,它的性能直接影响着计算机的速度和效率。 1. CPU的基本结构 CPU通常由以下几个主要组成部分构成&#xff1a…

外贸网站推广策划wordpress墨客吧

一、什么是Hooks函数? 想象一下,你在做饭,有一些调料你经常会用到,比如盐、酱油和辣椒。每次做饭时,你都会从柜子里拿出这些调料。如果你每次用完都把它们随便放在厨房的某个角落,下次做饭时就可能找不到它…

学校网站怎么做的好坏浙江网架公司

v-viewer简介 v-viewer 是一个 Vue 组件&#xff0c;用于显示图片和其他媒体内容的全屏查看器。它基于 Viewer.js&#xff0c;一个强大的图片查看库。 以下是一个基本的使用示例&#xff1a; <template><div v-viewer><img src"image1.jpg" />&…

做维修家具广告在哪个网站好北京市网站维护公司

初识国际化和ResourceBundle这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念&#xff0c;两者都是一起出现的。可以说&#xff0c;国际化的目的就是为了实现本地化&#xff0c;详细的介绍可以看本文的最后。比如对于“取消”&#xff0c;中文中我们使用“…

传统网站有没有建设必要性长春搜索排名提升

首发公号&#xff1a;Rand_cs 共享内核空间 我们常说&#xff0c;每个进程都有自己的虚拟地址空间&#xff0c;但其中内核部分是共享的。 这就有个问题&#xff0c;如何共享的&#xff1f; 系统启动时创建了一张内核页表&#xff0c;里面记录着内核地址空间与物理地址空间的…

网站能获取访问者关键词搜索引擎又称为

1.简介 RapidJSON 是一个 C 的 JSON 解析库&#xff0c;由腾讯开源。 支持 SAX 和 DOM 风格的 API&#xff0c;并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至…

详细介绍:PHP基础-数据类型(第九天)

详细介绍:PHP基础-数据类型(第九天)2025-09-22 17:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

从 “盲调” 到 “精准优化”:SQL Server 表统计信息实战指南

本文核心要旨在于:SQL Server 表统计信息作为元数据对象,宛如数据分布的 "指南针",精准存储着数据分布信息,为查询优化器提供关键依据,助力其生成高效的查询执行计划。在维护方面,统计信息更新有手动与…

别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题

别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题先看看下午EasyGBS群里用户提到的问题,我先大概描述一下,用户说有一台海康的摄像机IPC国标注册不到EasyGBS,另一台可以,区…

保护眼睛小程序

import wx import time from datetime import datetime, timedelta class MyFrame(wx.Frame): def init(self): super().init(None, title=用眼提醒, size=wx.Size(800, 600)) self.SetWindowStyle(wx.STAY_ON_TOP)# 创…

公司有网站域名 如何做网站传媒公司做网站编辑 如何

同一个浏览器登录不同账号session一致&#xff0c;这就导致后面登录的用户数据会把前面登录的用户数据覆盖掉&#xff0c;这个问题很常见&#xff0c;当前我这边解决的就是同一个浏览器不同窗口只能登录一个用户&#xff0c;解决方案如下&#xff1a; 1、在App.vue中监听本地数…

石家庄网站外包有多少种做网站后台程序

Java 集合交集判断 一. 使用 retainAll()方法二. 使用 removeAll() 方法与判断集合大小三. 使用 Stream 流式处理四. 使用 Collections.disjoint() 方法五. 总结六. 参考文章 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续…

视频网站做板块栏目手机大全网站

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-31&#xff09;山西电力市场全天平均日前电价为445.23元/MWh。其中&#xff0c;最高日前电价为791.27元/MWh&#xff0c;预计出现在08:15。最低日前电价为270.52元/MWh&#xff0c;预计…

做的网站上传到服务器专业制作效果图公司

今天给大家分享的题目是leetcode242有效的字母异位词 我们先看题目描述&#xff1a; Chatgpt中对于字母异位词的解释如下&#xff1a; 字母异位词是指由相同的字母组成但顺序不同的单词。换句话说&#xff0c;字母异位词具有相同的字母&#xff0c;只是排列顺序不同。 简单的将…

备案可以不关闭网站吗科技设计网站建设

排序思想掌握 前言&#xff1a; 开发当中为什么会用到算法&#xff1f;或者说为什么需要算法与数据结构等&#xff1f; 算法思想可以帮助我们优化程序的性能&#xff0c;例如减少时间与空间复杂度&#xff0c;从而使程序更快、更有效地运行。在数据分析领域&#xff0c;算法思想…

做模具做什么网站做外贸的人经常用什么网站

Zookeeper 架构理解 整体架构 Follower server 可以直接处理读请求&#xff0c;但不能直接处理写请求。写请求只能转发给 leader server 进行处理。最终所有的写请求在 leader server 端串行执行。&#xff08;因为分布式环境下永远无法精确地确认不同服务器不同事件发生的先后…

做网站维护有危险吗官网制作需要多少钱

uniapp嵌套webview&#xff0c;如何解决回退问题&#xff1f; 文章目录 uniapp嵌套webview&#xff0c;如何解决回退问题&#xff1f;遇到问题解决方式方式一方式二 场景&#xff1a; 进入首页&#xff0c;自动跳转第三方应用 遇到问题 在设备上运行时&#xff0c;无法回退上…

杭州滨江的网站建设公司众筹 wordpress

每次刚装完系统我们访问GitHub就会出现无法访问的情况&#xff0c;此时只需要修改host文件将可访问的dns解析地址写入进去即可。 查询DNS 使用dns监测查询工具 https://tool.chinaz.com/dns https://dnsdaquan.com/ 输入无法访问的IP github.com 进行检测 查询到可访问的i…