国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

前端Pua: JSON API還有二次封裝的必要嗎?

開發 前端
JSON 是 JavaScript Object Notation 的縮寫,最初是被設計為 JavaScript 的一個子集,因其和編程語言無關,所以成為了一種開放標準的常見數據格式。

[[438577]]

JSON 是 JavaScript Object Notation 的縮寫,最初是被設計為 JavaScript 的一個子集,因其和編程語言無關,所以成為了一種開放標準的常見數據格式。雖然 JSON 是源自于JavaScript,但到目前很多編程語言都有了 JSON 解析的庫,如 C、Java、Python 等。

雖然 「javascript」 的 JSON API 內置了兩種方法方便我們快捷的處理數據格式轉換:

  • 「JSON.parse()」 用于將一個 JSON 字符串轉換為 JavaScript 對象
  • 「JSON.Stringify()」 用于將 JavaScript 值轉換為 JSON 字符串

但也存在不少限制, 比如:

  • JSON.Stringify 無法序列化 「函數」, 「正則表達式」 等
  • JSON.parse 無法反序列化具有 「函數」, 「正則表達式」 等格式的數據
  • JSON.Stringify 和JSON.parse 性能問題
  • JSON.Stringify 和JSON.parse 解析出錯導致整個系統 pua

這些問題我們不得不從 「二次封裝」 的角度去解決.

第3個問題社區已經有比較可靠的解決方案可以來解決 JSON 方法的性能問題, 其核心思想就是 「結構化json定義」. 比如我們最常討論的 JSON Schema, simdjson 就是一個不錯的方案.

第四個問題也有解決方案, 就是在使用 JSON.Stringify 和JSON.parse 的地方包一層 try catch, 缺點就是每次調用都需要包 try catch, 不太符合前端 er 們的簡約風.

所以分析了這么多, 針對復雜業務場景, 我們非常有必要二次封裝 「JSON API」 !

在上篇文章中我介紹了解決 1 和 2 問題的方案, 感興趣的可以參考:

前端進階: 如何用javascript存儲函數?

該 json 解析器基于原生JSON API進行的上層封裝, 支持序列化函數, 正則類型

  • 支持原生 json api 調用方式nativeStringify, nativeParse
  • 支持序列化和反序列化函數 stringify, fastStringify, parse
  • 支持序列化和反序列化正則 stringify, fastStringify, parse
  • 內置開箱即用的工具方法
    • 判斷函數類型 isFunc
    • 判斷對象類型 isObj
    • 判斷數組類型 isArr
    • 判斷對象或數組類型 isArrOrObj
    • 判斷正則類型 isRegExp

同時方案中也解決了 4 中提到的問題, 并且支持操作后的回調, 使用方法如下:

安裝 xijs

  1. yarn add xijs 

使用

  1. import { parser } from 'xijs'
  2.  
  3. const door = { 
  4.   a: 1, 
  5.   b: function () {}, 
  6.   c: { 
  7.     c1: 'h5-dooring'
  8.     c2: () => {}, 
  9.     c3: { 
  10.       c: '3fvc'
  11.       d: { 
  12.         dd: () => {}, 
  13.         ee: /[a-z]/g, 
  14.       }, 
  15.     }, 
  16.   }, 
  17.   d: /[0-9]/g, 
  18. }; 
  19.  
  20. // 將對象序列化 
  21. parser.stringify(door); 
  22.  
  23. // 結果如下: 
  24. // { 
  25. // "a": 1, 
  26. // "b""__xfunc__function b() {}"
  27. // "c": { 
  28. //  "c1""h5-dooring"
  29. //  "c2""__xfunc__function c2() {}" 
  30. // } 
  31. // } 
  32.  
  33. // 將json數據反解析成對象 
  34. parser.parse(parser.stringify(door)); 
  35.  
  36. // 結果如下: 
  37. // { 
  38. // a: 1, 
  39. // b: function b() {}, 
  40. // c: { 
  41. //  c1: "h5-dooring"
  42. //  c2: function c2() {} 
  43. // } 
  44. // } 

同時 xijs 還在持續擴充更有用的工具函數, 讓業務開發更高效. 目前已集成了如下工具函數:

  • 「store」 基于 localStorage 上層封裝的支持過期時間設置的緩存庫, 支持操作回調
  • 「uuid」 生成唯一id, 支持設置長度
  • 「randomStr」 生成指定個數的隨機字符串
  • 「formatDate」 開箱即用的時間格式化工具
  • 「debounce」 防抖函數
  • 「throttle」 節流函數
  • 「url2obj」 將url字符串轉換為對象
  • 「obj2url」 將對象轉換成編碼后的url字符串
  • 「isPC」 判斷設備是否為PC類型

 

github地址: https://github.com/MrXujiang/xijs

 

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2022-08-16 14:17:50

數據倉庫數據治理數據職場

2021-05-05 11:34:09

前端開發技術熱點

2023-10-04 20:18:50

性價比SSDHDD

2023-04-17 09:32:29

IP地址MAC

2025-05-13 05:11:00

推理模型微調

2024-10-06 13:41:25

2024-01-06 17:53:11

前端框架方案

2022-10-17 08:03:47

封裝vue組件

2023-04-10 08:30:30

json編輯器typescript

2022-05-13 08:46:46

jsoneditorjson編輯器

2023-10-13 07:14:54

HDD存儲服務

2014-12-02 09:58:00

2024-03-13 13:39:21

2020-10-29 15:13:55

數字科技金融行業互聯網

2011-08-05 12:36:01

2017-03-24 21:26:26

代碼架構Java

2018-03-16 08:22:01

區塊鏈API應用程序

2013-08-08 16:25:08

項目加班

2021-09-15 11:38:36

Hashmap二次算法列表

2021-09-15 15:50:46

hashmap算法軟件開發
點贊
收藏

51CTO技術棧公眾號

亚洲高清中文字幕| 精品制服美女久久| 亚洲毛片在线免费观看| 婷婷福利视频导航| 国产福利一区二区| 欧美综合激情| 欧美破处大片在线视频| 国产精品成人在线| 亚洲aaa级| 午夜精品一区二区三区在线播放 | 日本一道在线观看| 日日骚欧美日韩| 国产一区视频观看| 精品99视频| 精品国产一区二区三区免费| 91精品啪在线观看国产81旧版| 51久久精品夜色国产麻豆| heyzo欧美激情| 久久久久一本一区二区青青蜜月| 99久久er| 裸体女人亚洲精品一区| 成人精品视频在线观看| 欧美高清在线播放| 国产福利视频一区二区| 男女在线观看视频| 欧美日韩精品是欧美日韩精品| 在线观看av影片| 岛国av在线不卡| 国产午夜视频在线观看| 欧美日韩午夜影院| 三级资源在线| 日韩电影第一页| 麻豆精品蜜桃| 久久久国产精品视频| eeuss鲁片一区二区三区 | 国产精品久久久久白浆| 香港成人在线视频| 国产www.大片在线| 91精品国产综合久久婷婷香蕉| 综合久久2o19| 伊人久久五月天| 国产精品18hdxxxⅹ在线| 国产激情999| 牛牛国产精品| 日本一区二区三区免费观看| 国产精品伊人色| 亚洲欧洲日本精品| 色综合天天性综合| 亚洲丝袜精品| 一本色道久久综合狠狠躁篇的优点 | av天天在线| 欧美日韩精品久久久| 日本黄色免费在线| 久久久久免费视频| 中出一区二区| 国产资源第一页| 亚洲精品乱码久久久久| 永久av在线| 俺去亚洲欧洲欧美日韩| 色天天色综合| 神马影院我不卡| 中文字幕一区日韩精品欧美| 一区二区三区视频在线观看视频| 亚洲毛片在线观看.| 偷窥自拍亚洲色图精选| 欧美日韩国产不卡在线看| 91视频国产观看| 精品av中文字幕在线毛片| 亚洲欧美在线磁力| 日韩在线观看| 99久久免费观看| 天天影视涩香欲综合网| 成人福利视频| 91沈先生作品| 91网站视频在线观看| 高清国产福利在线观看| 欧美大胆a视频| 麻豆久久婷婷| 伦理电影国产精品| 亚洲人成免费电影| 欧美日韩91| 奇米影音第四色| 精品盗摄一区二区三区| 欧美三级美国一级| 九九爱精品视频| 欧美美女黄视频| 色88888久久久久久影院| 亚洲免费av网| 精品国产精品三级精品av网址| 国产情侣一区二区三区| 久久一区免费| 亚洲妇熟xx妇色黄| 国产高清精品二区| 一区二区三区久久网| 欧美日韩在线观看视频| 日韩三级网址| 久久久久久av无码免费网站下载| 在线视频综合导航| 免费一区二区| 东京热加勒比无码少妇| 亚洲精品国产成人| 亚洲性视频h| 欧美变态xxxx| 久久久久久亚洲精品| 国产成人免费网站| 国产美女福利在线观看| 成人免费看片网址| 一区二区在线观看av| 日韩区一区二| 妞干网在线观看视频| 亚洲国产精品va在线| 最新日韩av| 久久久久久青草| 成人国产精品一区| 亚洲国产一区视频| 亚洲伊人影院| 5月婷婷6月丁香| 亚洲欧美日韩在线高清直播| 六月天综合网| 91在线中文| 免费亚洲一区二区| 欧美日韩一级视频| 99久久夜色精品国产亚洲96| 超级碰碰视频| 伊人亚洲福利一区二区三区| 亚洲国产欧美另类丝袜| 精品成人久久| 日本高清中文字幕在线| 亚洲bbw性色大片| 日韩国产精品久久| 国产激情在线视频| 国产美女精品在线观看| 色猫猫国产区一区二在线视频| 一呦二呦三呦国产精品| 国产美女在线免费观看| 欧美精品www| 亚洲色图另类专区| 一区二区导航| 在线观看高清av| 91久久国产综合久久蜜月精品| 婷婷开心久久网| 久久精品亚洲人成影院| av网站无病毒在线| 欧美日韩在线精品一区二区三区| 日韩久久久久久| 激情综合色丁香一区二区| 精品176极品一区| 激情五月色综合亚洲小说| 国产欧美日韩免费| 欧美一区二区三区性视频| 国产综合色产在线精品| 电影一区中文字幕| 午夜黄色一级片| 九九99玖玖| 国产一区二区三区在线看| 欧美国产精品v| 91av在线看| 欧美精品在线视频| 欧美va天堂在线| 黄网页在线观看| 亚洲高清123| 亚洲一级片在线看| 久久久久久电影| 青青草成人影院| 中文字幕在线视频区| www.午夜色| 欧美高清第一页| 午夜电影一区二区| 激情综合在线| 在线看片国产福利你懂的| 国产91在线免费| 国产精品欧美日韩久久| 在线中文字幕一区| 亚洲电影一区二区三区| 日本黄色精品| 亚洲丝袜在线视频| 六月丁香婷婷色狠狠久久| 成人在线不卡| 精精国产xxxx视频在线动漫| 99一区二区三区| 亚洲精品国产福利| 国产女人aaa级久久久级| 国产精品久久久久久久久妇女| bt在线麻豆视频| 久久精品免费一区二区| 国产欧美久久一区二区| 日韩精品中午字幕| 久久久综合激的五月天| 影音先锋日韩在线| 97欧美成人| 黄色电影免费在线看| 国产精品专区在线| 国产精品永久在线| 亚洲免费av电影| 亚洲国产精品欧美一二99| 国产自产v一区二区三区c| 国产在线日韩精品| 日韩不卡免费高清视频| 久久久久国产精品嫩草影院| 久久男人资源站|