React中使用react-json-view展示JSON数据

文章目录

  • 一、前言
    • 1.1、在线`demo`
    • 1.2、`Github`仓库
  • 二、实践
    • 2.1、安装`react-json-view`
    • 2.2、组件封装
    • 2.3、效果
    • 2.4、参数详解
      • 2.4.1、`src`(必须) :`JSON Object`
      • 2.4.2、`name`:`string`或`false`
      • 2.4.3、`theme`:`string`
      • 2.4.4、`style`:`object`
      • 2.4.5、`iconStyle`:`string`
      • 2.4.6、`indentWidth`:`integer`
      • 2.4.7、`collapsed`:`boolean`
      • 2.4.8、`collapseStringsAfterLength`:`boolean`
      • 2.4.9、shouldCollapse:(field)=>{}
      • 2.4.10、`displayObjectSize`:`boolean`
      • 2.4.11、`displayDataTypes`:`boolean`
      • 2.4.12、`onEdit`:`(edit)=>{}`
      • 2.4.13、`onAdd`:`(add)=>{}`
      • 2.4.14、`onDelete`:`(delete)=>{}`
      • 2.4.15、`onSelect`:`(select)=>{}`
  • 三、最后

一、前言

react-json-viewRJV)是一个用于显示和编辑javascript数组和JSON对象的React组件。

1.1、在线demo

1.2、Github仓库

二、实践

2.1、安装react-json-view

安装插件,在这推荐大家在项目中用 yarn 安装插件,yarn的出错几率比npm低很多。

npm install --save react-json-view
// 或者
yarn react-json-view

2.2、组件封装

/*** @Description: 格式化显示json数据 react-json-view* @github https://github.com/mac-s-g/react-json-view* @demo https://mac-s-g.github.io/react-json-view/demo/dist/* @author 小马甲丫* @date 2023-12-06 01:26:47*/
import ReactJsonView from 'react-json-view';const ReactJson = (props) => {return (<ReactJsonViewname={false} // 根节点名字collapsed={false} // 是否收起,true为收起indentWidth={4} // 缩进iconStyle="triangle"src={props.value}theme="grayscale:inverted"enableClipboard // 点击向左箭头进行复制displayObjectSize={false} // 显示有多少个items属性displayDataTypes={false} // 显示值的类型sortKeys // 键的排序quotesOnKeys={false} // 是否显示a键的引号/>);
};export default ReactJson;

2.3、效果

传入的数据是数组,如下所示:

2.4、参数详解

2.4.1、src(必须) :JSON Object

默认值:无

需要展示的JSON数据

2.4.2、namestringfalse

默认值:root

JSON数据的根节点(用默认或指定的根节点包裹自己的数据),使用nullfalse没有名字

2.4.3、themestring

默认值:rjv-default

RJV支持base-16主题

2.4.4、styleobject

默认值:{}

可以通过style添加、修改样式,可覆盖主题默认提供的属性

2.4.5、iconStylestring

默认值:triangle

接受参数:circle(圆)、triangle(三角形)、square(圆)

2.4.6、indentWidthinteger

默认值:4

JSON嵌套对象的缩进值

2.4.7、collapsedboolean

默认值:false

当设置为true,默认情况下,所有节点都将被折叠。使用整数值在特定深度折叠。

2.4.8、collapseStringsAfterLengthboolean

默认值:false

这个就是超出内容会变成的功能。当一个整数值被赋值时,字符串就会在这个长度后面接上省略号。可以通过单击字符串值来展开和折叠字符串内容

2.4.9、shouldCollapse:(field)=>{}

默认值:false

回调函数来提供对默认情况下应该折叠的对象和数组的控制。对象被传递给包含name, src, type(“数组”或“对象”)和namespace

2.4.10、displayObjectSizeboolean

默认值:true

当设置为true,对象和数组被标记为大小。例如: { a: 'a1',b: 'b1' },会显示2 items

2.4.11、displayDataTypesboolean

默认值:true

当设置为true,数据类型会出现在数据的前缀值.例如: { a: 123, b: 'b1'},会显示{ a: int 123, b: string 'b1'}

2.4.12、onEdit(edit)=>{}

默认值:false

当传入回调函数时,edit功能已启用。在编辑完成之后调用回调。

2.4.13、onAdd(add)=>{}

默认值:false

当传入回调函数时,add功能已启用。在完成添加之后调用回调。

2.4.14、onDelete(delete)=>{}

默认值:false

当传入回调函数时,delete功能已启用。在完成删除之后调用回调。

2.4.15、onSelect(select)=>{}

默认值:false

当传入函数时,单击值将触发onSelect方法将被调用。

三、最后

本人每篇文章都是一字一句码出来,希望大佬们多提提意见。顺手来个三连击,点赞👍收藏💖关注✨。创作不易,给我打打气,加加油☕

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

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

相关文章

[ROS2] --- service

1 service介绍 1.1 service概念 话题通信是基于订阅/发布机制的&#xff0c;无论有没有订阅者&#xff0c;发布者都会周期发布数据&#xff0c;这种模式适合持续数据的收发&#xff0c;比如传感器数据。机器人系统中还有另外一些配置性质的数据&#xff0c;并不需要周期处理&…

C#,图算法——以邻接节点表示的图最短路径的迪杰斯特拉(Dijkstra)算法C#程序

1 文本格式 using System; using System.Text; using System.Linq; using System.Collections; using System.Collections.Generic; namespace Legalsoft.Truffer.Algorithm { public class Node // : IComparable<Node> { private int vertex, weigh…

【分布式微服务专题】从单体到分布式(一、SpringCloud项目初步升级)

目录 前言阅读对象阅读导航前置知识笔记正文一、单体服务介绍二、服务拆分三、分布式微服务升级前的思考3.1 关于SpringBoot/SpringCloud的思考【有点门槛】 四、SpringCloud升级整合4.1 新建父子项目 学习总结感谢 前言 从本节课开始&#xff0c;我将自己手写一个基于SpringC…

如何轻松恢复 Windows 中删除的文件夹

我们都曾经历过这样的事&#xff0c;而且我们中的大多数人可能很快就会再次这样做。我们讨论的是在 Windows 中按“Delete”或“ShiftDelete”键意外删除重要文件夹的情况。 如果您刚刚按下删除键且未超过 30 天&#xff0c;或者尚未清空回收站&#xff0c;则可以恢复文件夹。…

操作系统学习笔记---内存管理

目录 概念 功能 内存空间的分配和回收 地址转换 逻辑地址&#xff08;相对地址&#xff09; 物理地址&#xff08;绝对地址&#xff09; 内存空间的扩充 内存共享 存储保护 方式 源程序变为可执行程序步骤 链接方式 装入方式 覆盖 交换 连续分配管理方式 单一连…

python安装与工具PyCharm

摘要&#xff1a; 周末闲来无事学习一下python&#xff01;不是你菜鸡&#xff0c;只不过是对手太强了&#xff01;所以你要不断努力&#xff0c;去追求更高的未来&#xff01;下面先了解python与环境的安装与工具的配置&#xff01; python安装&#xff1a; 官网 进入官网下载…

git 关于分支、merge、commit提交

最近开始用git终端提交代码&#xff0c;梳理了一些知识点 一 关于分支 关于分支&#xff0c;git的分支分为本地分支远程分支两种分支&#xff0c;在上传代码时&#xff0c;我们要确保当前本地分支连接了一个远程分支。 我们可以通过下面代码查看当前的本地分支&#xff1a; g…

迅为3588开发板 sudo: 无法解析主机:/DNS配置

环境申明 RK3588 ubuntu 22.04 jammy 迅为开发板 hostname 看是否有Host .&#xff0c;如果没有&#xff0c; sudo vim /etc/hostname在里面加一行&#xff0c;我这就这一个 iTOP-RK3588hosts 修改本地hosts sudo vim /etc/hosts127.0.0.1 localhost localhost iTOP-RK3…

2.postman环境变量及接口关联

一、环境变量以及全局变量 操作流程 1.点击environment 2.点击environment右侧号&#xff0c;新增环境变量 3.在变量中输入变量名以及变量值 4.回到collection页面&#xff0c;修改变量环境 5.在collection中通过{{变量名}}调用变量 变量定义 环境变量&#xff1a;环境变量…

vue 限制在指定容器内可拖拽的div

<template><div class"container" id"container"><div class"drag-box center" v-drag v-if"isShowDrag"><div>无法拖拽出容器的div浮窗</div></div></div> </template><script&g…

P11 Linux进程编程exec族函数

前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《Linux C应用编程&#xff08;概念类&#xff09;_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f6f8;推荐专栏3: ​​​​​​《链表_C…

Java 简易版 UDP 多人聊天室

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

算法通关村第五关—LRU的设计与实现(黄金)

LRU的设计与实现 一、理解LRU的原理 LeetCode146:运用你所掌握的数据结构&#xff0c;设计和实现一个LRU(最近最少使用)缓存机制 实现LRUCache类&#xff1a; LRUCache(int capacity) 以正整数作为容量capacity初始化 LRU 缓存 int get(int key) 如果关键字key存在于缓存中&a…

数据可视化|jupyter notebook运行pyecharts,无法正常显示“可视化图形”,怎么解决?

前言 本文是该专栏的第39篇,后面会持续分享python数据分析的干货知识,记得关注。 相信有些同学在本地使用jupyter notebook运行pyecharts的时候,在代码没有任何异常的情况下,无论是html还是notebook区域,都无法显示“可视化图形”,界面区域只有空白一片。遇到这种情况,…

Nginx服务优化以及防盗链

1. 隐藏版本号 以在 CentOS 中使用命令 curl -I http://192.168.66.10 显示响应报文首部信息。 查看版本号 curl -I http://192.168.66.10 1. 修改配置文件 vim /usr/local/nginx/conf/nginx.conf http {include mime.types;default_type application/octet-stream;…

京东数据运营(京东API接口):10月投影仪店铺数据分析

鲸参谋监测的京东平台10月份投影仪市场销售数据已出炉&#xff01; 10月份&#xff0c;环同比来看&#xff0c;投影仪市场销售均上涨。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台投影仪的销量为16万&#xff0c;环比增长约22%&#xff0c;同比增长约8%&#xff1…

鸿蒙应用开发ArkTS基础组件的使用

语雀知识库地址&#xff1a;语雀HarmonyOS知识库 飞书知识库地址&#xff1a;飞书HarmonyOS知识库 本文示例代码地址&#xff1a;Gitee 仓库地址 嗨&#xff0c;各位好呀&#xff0c;我是小白 上一篇文章我为大家介绍了如何使用 ArkTS 开发鸿蒙应用&#xff0c;对 HarmonyOS 项…

探索开源游戏的乐趣与无限可能 | 开源专题 No.47

CleverRaven/Cataclysm-DDA Stars: 9.0k License: NOASSERTION Cataclysm&#xff1a;Dark Days Ahead 是一个回合制的生存游戏&#xff0c;设定在一个后启示录世界中。尽管有些人将其描述为 “僵尸游戏”&#xff0c;但 Cataclysm 远不止于此。在这个残酷、持久、程序生成的世…

【原创】【一类问题的通法】【真题+李6卷6+李4卷4(+李6卷5)分析】合同矩阵A B有PTAP=B,求可逆阵P的策略

【铺垫】二次型做的变换与相应二次型矩阵的对应&#xff1a;二次型f&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;xTAx&#xff0c;g&#xff08;y1&#xff0c;y2&#xff0c;y3&#xff09;yTBy ①若f在可逆变换xPy下化为g&#xff0c;即P为可逆阵&#xff0c;有P…

数字系统设计(EDA)实验报告【出租车计价器】

一、问题描述 题目九&#xff1a;出租车计价器设计&#xff08;平台实现&#xff09;★★ 完成简易出租车计价器设计&#xff0c;选做停车等待计价功能。 1、基本功能&#xff1a; &#xff08;1&#xff09;起步8元/3km&#xff0c;此后2元/km&#xff1b; &#xff08;2…