對(duì)于UI上JSON校驗(yàn)、數(shù)據(jù)格式化輸出卸耘、JSON轉(zhuǎn)換

JSON格式化

對(duì)于UI上input或者textarea,根據(jù)不同的需求或者說(shuō)要求實(shí)現(xiàn)不同的展示效果粘咖。對(duì)此蚣抗,如若user輸入的是一個(gè)不整潔的JSON對(duì)象,在UI上做展示或者將數(shù)據(jù)傳給后臺(tái)同學(xué)瓮下,未經(jīng)處理修飾的JSON是一團(tuán)糟翰铡。
對(duì)此,做一下處理


有空格讽坏、換行符
1.去掉所有空格" "和換行符(前兩個(gè)replace是為了去掉所有空格锭魔,第三個(gè)是去掉換行符)
str.replace(/\r/ig, "").replace(/\n/ig, "").replace(/\s/g,"")

2.根據(jù)后臺(tái)接口的要求
(1)json對(duì)象
    string轉(zhuǎn)json
    JSON.parse(str)
(2)string
    1.如自身是string,可以直接傳值路呜,不用轉(zhuǎn)換
    2.json轉(zhuǎn)string
    JSON.stringify(json串)
處理前顯示

在傳給后臺(tái)的JSON沒(méi)有處理直接轉(zhuǎn)成string的話迷捧,如上顯示。
若按照格式化展示胀葱,如下


處理后顯示
情況1.直接顯示在div中漠秋,可以使用<pre>標(biāo)簽
      并且結(jié)合JSON.stringify(data, null, 4)
情況2.在textarea中顯示做Update,可以使用函數(shù)方法在js中處理
  getFormatJsonStrFromString(jsonStr){ //UI展示格式化JSON數(shù)據(jù)
    let res="";
    if(jsonStr){
      for(let i=0,j=0,k=0,ii,ele;i<jsonStr.length;i++) {//k:縮進(jìn)抵屿,j:""個(gè)數(shù)
        ele=jsonStr.charAt(i);
        if(j%2==0&&ele=="}") {
          k--;
          for(ii=0;ii<k;ii++) ele="    "+ele;
          ele="\n"+ele;
        } else if(j%2==0&&ele=="{") {
          ele+="\n";
          k++;
          for(ii=0;ii<k;ii++) ele+="    ";
        } else if(j%2==0&&ele==",") {
          ele+="\n";
          for(ii=0;ii<k;ii++) ele+="    ";
        } else if(ele=="\"") j++;
        res+=ele;
      }
      // console.log(res);
      return res;
    }
  }

JSON校驗(yàn)

isJSON(str) { //驗(yàn)證輸入JSON格式正確
   //console.log(str);
   if (typeof str == 'string') {
     try {
       let obj=JSON.parse(str);
       //console.log(obj);
       if(obj && typeof obj == 'object'  ){
        // console.log('true');
         return true;
       }else{
        // console.log('false');
         return false;
       }
     } catch(e) {
       return false;
     }
   }
 }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庆锦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子轧葛,更是在濱河造成了極大的恐慌搂抒,老刑警劉巖艇搀,帶你破解...
    沈念sama閱讀 222,946評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異求晶,居然都是意外死亡中符,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門誉帅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淀散,“玉大人,你說(shuō)我怎么就攤上這事蚜锨〉挡澹” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瓜挽。 經(jīng)常有香客問(wèn)我惜索,道長(zhǎng),這世上最難降的妖魔是什么则剃? 我笑而不...
    開封第一講書人閱讀 60,222評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮如捅,結(jié)果婚禮上棍现,老公的妹妹穿的比我還像新娘。我一直安慰自己镜遣,他們只是感情好己肮,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悲关,像睡著了一般谎僻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寓辱,一...
    開封第一講書人閱讀 52,807評(píng)論 1 314
  • 那天艘绍,我揣著相機(jī)與錄音,去河邊找鬼秫筏。 笑死诱鞠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跳昼。 我是一名探鬼主播般甲,決...
    沈念sama閱讀 41,235評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹅颊!你這毒婦竟也來(lái)了敷存?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锚烦,沒(méi)想到半個(gè)月后觅闽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涮俄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評(píng)論 3 343
  • 正文 我和宋清朗相戀三年蛉拙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彻亲。...
    茶點(diǎn)故事閱讀 40,926評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡孕锄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苞尝,到底是詐尸還是另有隱情畸肆,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評(píng)論 5 351
  • 正文 年R本政府宣布宙址,位于F島的核電站轴脐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏抡砂。R本人自食惡果不足惜大咱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望注益。 院中可真熱鬧碴巾,春花似錦、人聲如沸聊浅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)低匙。三九已至,卻和暖如春碳锈,著一層夾襖步出監(jiān)牢的瞬間顽冶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工售碳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留强重,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,368評(píng)論 3 379
  • 正文 我出身青樓贸人,卻偏偏與公主長(zhǎng)得像间景,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艺智,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評(píng)論 2 361

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

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,113評(píng)論 1 32
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,791評(píng)論 0 15
  • 在歲月的柔波里倘要,愛(ài)情是最經(jīng)不起檢驗(yàn)的東西。人生而自私十拣,想要的都會(huì)想方設(shè)法得到封拧,在得到與未得到之間志鹃,人們總...
    嗚嘎嘎嗚嘎嘎呀呀呀閱讀 371評(píng)論 0 2
  • 還是關(guān)于這個(gè)世界的問(wèn)題曹铃。 在快樂(lè)中回憶痛苦則愈加快樂(lè),在痛苦中回憶快樂(lè)則更加痛苦捧杉。 然而真正的快樂(lè)陕见,從來(lái)不是純粹的...
    深藍(lán)之瀾閱讀 1,120評(píng)論 2 3
  • 你是否經(jīng)常在準(zhǔn)備入睡的夜晚评甜,想到今天做了什么,學(xué)習(xí)了什么非竿,你感覺(jué)有的時(shí)候你就像沒(méi)有靈魂的軀殼蜕着,起床 吃早飯 午...
    fee鋮閱讀 204評(píng)論 0 1