要在頁面中顯示美化JSON格式化

需求場景:有時候我們需要將json數(shù)據(jù)直接顯示在頁面上(比如在做一個接口測試的項目撮躁,需要將接口返回的結(jié)果直接展示)金踪,但是如果直接顯示字符串不从,不方便查看惜姐。需要格式化一下。
倆種解決方法椿息,第2種使用插件包比較方便歹袁。

解決方法1:

其實JSON.stringify本身就可以將JSON格式化,直接用法就是:

JSON.stringify(res, null, 2); //res是要JSON化的對象寝优,2是spacing

詳細(xì)優(yōu)化:

<template><div><pre id="result" ref="preRef" /></div></template>
// 在
<script>
export default {
  name:"Index",
  data(){reutrn{
 jsonData : {
            "msg": "success", "code": 200,"data": [{"id": 0, "door_name": "1",   },{"id": 1, "door_name": "2",   },], "count": 2
        };
}},
  mounted() {
    this.$refs.preRef.innerHTML = this.syntaxHighlight(this.jsonData)
  },
  methods: {
    syntaxHighlight(str) {
      if (typeof str !== 'string') {
        str = JSON.stringify(str, undefined, 2)
      }
      str = str
        .replace(/&/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
      return str.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>'
      })
    },
}
}
</script>
<style lang="scss" scoped>
    ::v-deep{
        #result {
            outline: 1px solid #ccc;
            padding: 5px;
            margin: 5px;
        }
        .string { color: green; }
        .number { color: darkorange; }
        .boolean { color: blue; }
        .null { color: magenta; }
        .key { color: red; }
    }

</style>

效果展示:


image.png

解決方法2:安裝vue-json-viewer插件

npm安裝一下

npm install vue-json-viewer --save

代碼實現(xiàn)条舔,掛載vue里面

import Vue from 'vue'
import JsonViewer from 'vue-json-viewer'
 
// Import JsonViewer as a Vue.js plugin
Vue.use(JsonViewer)
// or 
// components: {JsonViewer}

在template里面加入如下一種: 其中jsonData必須是json類型的數(shù)據(jù)。

<json-viewer :value="jsonData"></json-viewer>
 
<hr />
 
<json-viewer
  :value="jsonData"
  :expand-depth=5
  copyable
  boxed
  sort></json-viewer>

效果展示:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末倡勇,一起剝皮案震驚了整個濱河市逞刷,隨后出現(xiàn)的幾起案子嘉涌,更是在濱河造成了極大的恐慌妻熊,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仑最,死亡現(xiàn)場離奇詭異扔役,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)警医,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門亿胸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人预皇,你說我怎么就攤上這事侈玄。” “怎么了吟温?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵序仙,是天一觀的道長。 經(jīng)常有香客問我鲁豪,道長潘悼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任爬橡,我火速辦了婚禮治唤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘糙申。我一直安慰自己宾添,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辞槐,像睡著了一般掷漱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榄檬,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天卜范,我揣著相機(jī)與錄音,去河邊找鬼鹿榜。 笑死海雪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的舱殿。 我是一名探鬼主播奥裸,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沪袭!你這毒婦竟也來了湾宙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冈绊,失蹤者是張志新(化名)和其女友劉穎侠鳄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體死宣,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡伟恶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了毅该。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片博秫。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖眶掌,靈堂內(nèi)的尸體忽然破棺而出挡育,到底是詐尸還是另有隱情,我是刑警寧澤朴爬,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布即寒,位于F島的核電站,受9級特大地震影響寝殴,放射性物質(zhì)發(fā)生泄漏蒿叠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一蚣常、第九天 我趴在偏房一處隱蔽的房頂上張望市咽。 院中可真熱鬧,春花似錦抵蚊、人聲如沸施绎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谷醉。三九已至致稀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俱尼,已是汗流浹背抖单。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留遇八,地道東北人矛绘。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像刃永,于是被迫代替她去往敵國和親货矮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容