json資料庫編輯器(js json編輯器)

  • 1、react–實現簡易json編輯器
  • 2、求JSON Viewer編輯器免安裝版下載
  • 3、json精靈編輯器載入失敗

分析

     由於個人不太喜歡一切皆props的形式,故想要做到一些公共api既可以在內部調用又可以對外部暴漏,類組件使用高階/裝飾器,函數組件使用hooks,我這裡使用方式二,對外提供useEditor

     json預覽

            通過原生標籤的contentEditable屬性可以實現在線json編輯    

            通過pre標籤並利用JSON.stringify的參數3實現格式化預覽  

            通過監聽input事件實現編輯監聽  

     樹形編輯

            借用antd的tree組件快速實現樹形ui展示

            將json字元串處理成treeData展示到tree組件,操作後在轉成json反顯到左側預覽區

            刪除編輯能力通過將treeData這顆多叉樹轉為二叉樹操作後再回退到多叉樹進行回顯

創建react項目

    create-react-app json-edit –template typescript

實現

     index作為入口文件,應當承載著所有內部介面對外暴漏的能力

        這裡將json和editor組件以及useEditor暴漏出去

     json組件用於展示並編輯json字元串

        使用contentEditable開啟編輯,利用pre+JSON.stringify({}, null, ‘ ‘)進行格式化,通過input事件監聽json修改

     tree組件用於展示,並允許彈窗的形式刪除或修改節點

        首先是json字元串轉為多叉樹後展示

    當存在節點編輯後,需要從節點刪除或編輯,可以先將多叉樹轉成二叉樹進行操作,後再轉回多叉樹, 之前實現過,就不重複寫了

    最後就是將編輯後的多叉樹再轉回json字元串

效果如下

待優化的點

     預覽時無法實時進行格式化處理,這是因為格式化操作游標位置會重置,需要不斷進行記錄並在格式化後重新設置

     編輯操作目前僅支持編輯最後一級節點

     刪除操作會導致原json數據的順序被修改,這主要是在生成的id值不正確,導致在二叉轉多叉時排序不準

軟體介紹:

JSON Viewer是一款非常實用的Json格式查看器。在日程開發調試中我們難免會遇到Json格式的數據需要解析閱讀,但Json格式數據閱讀性極差。

所需工具:點擊下載 JSON Viewer編輯器

json view chrome插件

1、將下載好的插件進行安裝,打開chrome – 擴展程序 (地址欄輸入chrome://extensions/);

2、在chrome瀏覽器右上角工具欄中選中「開發模式」功能選項;

3、點擊”載入正在開發的擴展程序…” – 選擇插件目錄(D:\Download\JSONView-for-Chrome-master\WebContent);

4、安裝完成,重新載入(Ctrl+R)。

json精靈編輯器載入失敗是文件損失。根據查詢json失敗公開解決方法得知,刪除json精靈編輯器重新下載即可解決。.json是一種輕量級的數據交換格式,在與後端的數據交互中具有較為廣泛的應用。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126199.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Polyphone音頻編輯器基礎入門教程

    Polyphone是一款免費的音頻編輯器,可用於編輯.sf2和.sfz格式的音色庫。本文將詳細介紹Polyphone的基礎操作及使用方法。 一、安裝和簡介 首先,我們需要下載並安裝…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分散式文件系統(HDFS)。HDFS是一個可擴展性高的分散式…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28

發表回復

登錄後才能評論