麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

如何實現(xiàn)json數(shù)據(jù)可視化詳解

2019-11-19 18:50:20
字體:
供稿:網(wǎng)友

前言

本文介紹的是如何實現(xiàn)json數(shù)據(jù)可視化,要用到的核心是JSON.stringify這個函數(shù),沒想到吧,平時我們只把它用來序列號json數(shù)據(jù)。

JSON.stringify 函數(shù)

將 JavaScript 值轉(zhuǎn)換為 JavaScript 對象表示法 (Json) 字符串。

語法

JSON.stringify(value [, replacer] [, space])

參數(shù)

value

     必需。  要轉(zhuǎn)換的 JavaScript 值(通常為對象或數(shù)組)。 

replacer

     可選。  用于轉(zhuǎn)換結(jié)果的函數(shù)或數(shù)組。 

     如果 replacer 為函數(shù),則 JSON.stringify 將調(diào)用該函數(shù),并傳入每個成員的鍵和值。  使用返回值而不是原始值。  如果此函數(shù)返回 undefined,則排除成員。  根對象的鍵是一個空字符串:""。 

     如果 replacer 是一個數(shù)組,則僅轉(zhuǎn)換該數(shù)組中具有鍵值的成員。  成員的轉(zhuǎn)換順序與鍵在數(shù)組中的順序一樣。  當 value 參數(shù)也為數(shù)組時,將忽略 replacer 數(shù)組。 

space

     可選。  向返回值 JSON 文本添加縮進、空格和換行符以使其更易于讀取。 

     如果省略 space,則將生成返回值文本,而沒有任何額外空格。

     如果 space 是一個數(shù)字,則返回值文本在每個級別縮進指定數(shù)目的空格。  如果 space 大于 10,則文本縮進 10 個空格。 

     如果 space 是一個非空字符串(例如“/t”),則返回值文本在每個級別中縮進字符串中的字符。

     如果 space 是長度大于 10 個字符的字符串,則使用前 10 個字符。

返回值

一個包含 JSON 文本的字符串。

json數(shù)據(jù)可視化

我們要用到的就是這第三個參數(shù),它可以指定在生成的字符串中加多少空格,從而生成有一定格式的字符串。生成的字符串我們可以放在<pre>標簽中,這樣就能很好的顯示縮進。然后呢,為了讓生成的數(shù)據(jù)有高亮效果,我們還可以寫一個簡單的高亮函數(shù)。

基本就是這么個原理啦,請看代碼實現(xiàn):

function output(inp) { document.body.appendChild(document.createElement('pre')).innerHTML = inp;}function syntaxHighlight(json) { json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); return json.replace(/("(//u[a-zA-Z0-9]{4}|//[^u]|[^//"])*"(/s*:)?|/b(true|false|null)/b|-?/d+(?:/./d*)?(?:[eE][+/-]?/d+)?)/g, function (match) {  var cls = 'number';  if (/^"/.test(match)) {   if (/:$/.test(match)) {    cls = 'key';   } else {    cls = 'string';   }  } else if (/true|false/.test(match)) {   cls = 'boolean';  } else if (/null/.test(match)) {   cls = 'null';  }  return '<span class="' + cls + '">' + match + '</span>'; });}var obj = { num: 1234, str: '字符串', arr: [1,2,3,4,5,6], obj: {  name: 'tom',  age: 10,  like: ['a', 'b'] }};var str = JSON.stringify(obj, undefined, 4);output(syntaxHighlight(str));

最終生成的效果就是這樣的:

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕在线观看网址 | 久草在线最新 | 成人一级黄色 | 成人偷拍片视频在线观看 | 欧美一区高清 | 日日草夜夜操 | 欧美亚洲国产成人综合在线 | 国产一国产一级毛片视频 | 成人午夜在线免费观看 | 国产精品久久久久久久久久尿 | 国产羞羞视频在线免费观看 | www.com香蕉| 黄色av片在线观看 | 久久久成人一区二区免费影院 | 欧美一级美国一级 | 91精品国产手机 | 在线观看免费精品 | 亚洲片在线 | 国产一级一区二区 | 小情侣嗯啊哦视频www | 成人毛片免费视频 | 国产一区二区三区四区五区加勒比 | 成人在线视频国产 | 龙的两根好大拔不出去h | 91短视频版高清在线观看免费 | 精品国产一区二区三区四 | 久久国产精品二国产精品中国洋人 | 免费观看黄色一级视频 | 久久久久女人精品毛片九一 | 久久久久久久亚洲视频 | 天天透天天狠天天爱综合97 | 久久久久久精 | 久久无| 91色综合综合热五月激情 | 有色视频在线观看 | 国产精品久久久久久久久久久久久久久久 | 精品一区二区免费 | 欧美特级一级毛片 | 国产亚洲精品久久久久久大师 | 午夜精品毛片 | 欧美日韩亚洲在线 |