json可视化编辑器工具(json生成工具)
大家好,感谢邀请,今天来为大家分享一下json可视化编辑器工具的问题,以及和json生成工具的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
基于L7 的 GeoJSON 可视化编辑工具来了
基于 L7的 GeoJSON可视化编辑工具——L7Editor已推出
L7Editor是由 AntV团队基于 L7生态推出的在线地理数据可视化工具,它支持将各类数据转换成 GeoJSON格式后,在地图上进行可视化展示,并提供方便快捷的方式新增、修改、删除这些元素。以下是关于 L7Editor的详细介绍:
快速上手:
用户只需将 GeoJSON数据直接输入至 L7Editor右侧的 JSON编辑器中,点击保存按钮或通过快捷键触发保存,L7Editor就会将输入数据渲染至地图上。
工具能力:
GeoJSON编辑器:
页面右侧默认展示了一个基于 Monaco二次封装的 JSON代码编辑器,支持 VSCode一样的编辑器操作,如代码折叠、搜索、格式化等。
地图绘制:
支持在地图上绘制点、线、面、矩形和圆形,且支持对已有 GeoJSON数据(非 Multi类型)进行二次编辑,绘制结果会实时同步到右侧的 JSON编辑器中。
字段表格:
导入携带业务信息的 GeoJSON数据后,L7Editor会展示字段表格,支持筛选、排序操作,并允许修改字段值并同步至 GeoJSON中。
字段气泡:
支持从地图可视化元素作为入口查看对应数据的各项字段,并可以设置修改气泡的触发方式。
地图字段筛选:
提供字段筛选控件,支持对数值和字符串类型的数据进行简易筛选,筛选结果仅作用在地图上,不影响编辑器和表格中的数据。
导入/导出:
支持从本地或在线链接导入 GeoJSON、WKT、KML格式的地理数据,将其转换成标准的 GeoJSON格式后供用户操作,同样支持将数据以上述格式导出。
辅助能力:
地点模糊搜索:确认目标地点后会在地图中标记,用户可将其作为 Point类型的 Feature元素添加至数据中。
图层样式切换:支持实时更改图层颜色,切换高德地图底图样式,并支持叠加高德官方卫星、路网等图层。
L7Editor的推出,为地理空间数据的可视化编辑提供了极大的便利,无论是数据导入、编辑、展示还是导出,都实现了高效、便捷的操作。用户可以通过访问 L7Editor官方地址来体验这一强大的工具。在使用过程中,如有任何问题或需求建议,欢迎加入 L7官方答疑群进行反馈。
json格式化工具有哪些
json格式化工具有哪些?我们一起来了解一下吧!
(1)JSONViewer
JSONViewer是一款基于浏览器的JSON查看扩展,它可以让你在浏览器中更方便地查看JSON代码,默认情况下当我们在Chrome中打开JSON网页时,会显示纯文本格式,需要将其复制到代码编辑器或JSON格式化工具中查看,但是使用JSONViewer,我们可以直接在浏览器中格式化查看JSON,它会自动将代码格式化并高亮,点击箭头,还可以快速展开和收起代码。软件还支持非常多的定制选项,比如你可以选择配色方案、显示行号、设置链接可点击等等,很多功能都可以通过修改配置文件实现。
(2)JSONGrid
JSONGrid是一款基于Web的JSON格式化工具,它可以快速美化JSON文本,并以更清晰的方式进行展示。在JSONGrid中,你可以验证JSON文件、格式化JSON、压缩JSON代码、查看JSON文件结构,而且和其他工具不同的是,JSONGrid并不会以树形的结构可视化JSON数据,而是以表格的形式展示数据,可以让你更快地掌握代码中的数据,提高效率,如果你每天都会用到JSON的话,它是一个非常好的工具。
(3)OnlineJSONViewer
OnlineJSONViewer是一款在线的JSON格式化工具,它的功能包括在线JSON编辑、JSON格式化、JSON代码压缩,还提供了一个JSON查看器,可以通过树形的方式查看JSON文件结构,搜索代码中的字符等。
(4)DadroitJSONViewer
DadroitJSONViewer是一款本地使用JSON查看软件,它支持Windows、Mac和Linux,它最大的特色是支持查看大JSON文件,它将JSON文件视为特定的数据结构而不是文本,相比其他在线工具和代码编辑器有更快的响应速度,支持的数据也更大,你甚至可以用它查看10GB的JSON文件,还可以在编辑器内对JSON进行压缩、美化等。
(5)JSONEditorOnline
JSONEditorOnline是一款在线的JSON编辑器,你可以把自己的代码粘贴到网站中,它会自动高亮并格式化JSON代码,让你更容易地阅读代码,还可以在编辑器中修改代码,对于数据比较多的JSON文件,你还可以将其转换成树形结构,用来查找数据和理清节点间的关系,还可以使用展开和收起按钮,快速查看所有的内容。该工具还提供了对比功能,你可以同时使用左右两个编辑器,对JSON文档进行对比,查找代码中的不同等,还可以将当前的内容存储到云端分享给他人,非常的方便。
关于json格式化工具,我们就分享到这啦!
基于乐吾乐meta2d从零实现可视化流程图编辑器(五)
可视化编辑器已成为前端发展趋势,相关产品层出不穷,但是用户较难根据自身需求去完整实现一个功能较为全面的可视化编辑器,我将采用乐吾乐开源的meta2d.js可视化库来实现一个简单的流程图编辑器,通过这个案例来介绍meta2d的相关功能,并向读者展示如何用meta2d从零出发搭建一个较为完整的项目,让我们在实际项目中来体验meta2d的强大之处吧。
meta2d是乐吾乐开源的2D图元组成的可视化引擎,集实时数据展示、动态交互、数据管理等一体的全功能2D可视化引擎。能够快速实现数字孪生、大屏可视化、Web组态、SCADA等解决方案。具有实时监控、多样、变化、动态交互、高效、可扩展、支持自动算法、跨平台等特点,最大程度减少研发和运维的成本,并致力于普通业务人员 0代码开发实现物联网、工业互联网、电力能源、水利工程、智慧农业、智慧医疗、智慧城市等可视化解决方案。
乐吾乐已将其meta2d核心库完全免费开源,本系列教程就是基于meta2d从零实现web端可视化流程图编辑器。
乐吾乐 meta2d开源项目地址: github.com/le5le-com/me...
乐吾乐 meta2d官方文档: doc.le5le.com/document/...
此可视化流程图编辑器项目地址: github.com/Grnetsky/me…
在线体验地址: editor.xroot.top/
在这一章我们讲解Nav组件的相关功能实现,就目前的需求来看,需要实现文件的创建保存加载,放大镜、缩略图、钢笔铅笔的功能,其实这些功能的实现都非常简单,基本上都是调用meta2d提供的API即可,接下来让我们来看看这些功能如何实现吧。
文件保存的本质就是将画布的数据进行本地储存,存储方式文保存为json文件,meta2d提供了data方法,用于返回画布的相关数据信息返回数据格式json对象,我们只需要将拿到的数据通过浏览器提供的API进行本地保存即可。
在defaultConfig.js中创建saveFile函数,函数内容如下:
通过meta2d提供的data方法我们可以轻松拿到图纸数据,具体有哪些数据呢?我们来看看官方文档,这些数据统称为Meta2dData数据,表示为meta2d的数据格式,当然这些数据暂时看不懂也没关系,我们只需要知道它提供了一种数据格式用于和meta2d核心库进行交互即可。通过上面方法,最终我们得到了一个json文件,该文件中记录了图纸的所有信息,文件保存的功能就得以实现了。
让我们看看效果:
可以看到数据文件被下载到本地成功,当然,具体文件名可以用一个参数去控制,有需求的可以自己去实现。
meta2d提供了open方法用于加载图纸数据,该方法接受两个可选参数,第一个是Meta2dData对象,也就是保存数据时候的带有特定属性的json数据,第二个是布尔值,表示加载完成后是否重新渲染界面,默认为true,当然,你也可以什么参数都不传,他执行的效果就是创建一个新的画布。文件加载到的第一步就是需要拿到文件引用,在浏览器中获取有三种方式,一是通过拖拽,监听drag事件在事件对象中拿到文件引用,二是通过input标签,在回调中拿到文件引用,三是通过挂载到window上的showOpenFilePicker方法,通过异步方式拿到文件引用。前两种方案我们用的特别多,在这里我们尝试一下第三种方式。
通过showOpenFilePicker方法,就能够打开系统级文件选择器,关于此API的使用,这里不做讨论,有需要的请移步相关文档,该异步方法返回一个句柄数组,该文件句柄数组中包含了所选择的文件引用,通过句柄的getFile方法就能够拿到文件的file对象,通过text方法返回了文件的字符串形式,最终再将字符串进行反序列化生成json对象,该对象就是Meta2dData对象,将该对象传递给meta2d的open方法,最后就成功加载图纸文件了,让我们来看看实际效果。
打开文件的功能也就完成啦,当然,这里只是实现了基本功能,关于该功能的完整细节还有很多事要做,比如打开后是否对上一个图纸进行保存?是否应该清理本地缓存等?这些操作需要结合相关业务需求进行定制,在这里我们只针对该项目更多偏向主要功能的开发。
有了前面的基础,新建文件功能就简单多啦,前面说到,meta2d提供了一个open函数用于打开指定文件,但是当不给该函数传参时,就默认新建一个文件,所以在新建功能的开发上,目前只需要调用其open函数即可
来看看实际效果
当然,这里也只是实现了基本功能,具体业务流程和细节,可在后面进行迭代定制。
导入文件功能,主要是导入svg类的图元,像之前一样,导入文件前最先要打开文件,然后判断文件类型,类型判断成功则发送给meta2d处理,若不成功就退出提示用户上传正确的格式。文件类型判断主要用file对象的type属性,该属性返回MIME类型,svg的MIME类型为image/svg+xml,当类型通过后调用meta2d通过的parseSvg方法即可。
meta2d提供了缓存机制,meta2d.canvas.addCaches方法用于缓存图元,下次鼠标点击则放置
所以代码像下面这样即可:
接下来看看实际效果吧
meta2d核心库内置了放大镜功能,我们只需要调用其api进行放大镜的打开和关闭即可:
那我们的函数就很好写了,像下面这样:
来看看实际效果
与放大镜类似,meta2d也提供了相关api来实现缩略图的显示和隐藏,不过需要注意的是,缩略图对象不像放大镜对象一样是meta2d初始化就创建好的,缩略图需要我们自己调用其show方法才开始创建,所以判断缩略图是否打开之前要判断meta2d身上是否挂载了缩略图,像这样一样:
当然,你完全可以选择用闭包去做,这样我们的缩略图打开关闭功能就做好了
钢笔是meta2d提供的连线工具,meta2d内置了4种连线样式,分别为:
默认是曲线,相关API:
我们可以通过window.meta2d.canvas.drawingLineName身上是否有值来判断钢笔状态,从而调用不同API实现钢笔的打开关闭功能,像下面代码一样:
同样的你完全也可以用闭包来实现,像下面这样:
效果图如下:
与钢笔功能类似,铅笔是用来生成任意路径的工具,我们来看看官方提供了些什么API吧:
一眼就知道该怎么做了吧,和上面一样:
看看效果吧
通过这章,我们学习到了一些nav组件基本功能的实现,核心还是调用meta2d提供的相关api,最好参考官方文档来做,在后面章节,我们可以尝试增加更多功能增加工具栏等,敬请期待~
Meta2d.js开源地址
给大家推荐一下 Meta2d.js是一个实时数据响应和交互的2d引擎,可用于Web组态,物联网,数字孪生等场景。
Github: github.com/le5le-com/me...
Gitee: gitee.com/le5le/meta2d....
大家一起去为这个国产的开源产品star一下吧,毕竟优秀的国产可视化开源项目不多。
关于本次json可视化编辑器工具和json生成工具的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。