通過js來格式化json代碼分享
今天給大家介紹一下如何通過js來格式化json。
假設(shè)json字符串是:
{"name":"劉德華","age":25.2,"birthday":"1990-01-01"}
我們使用的是Js的JSON方法
先把json字符串轉(zhuǎn)為json對象,方法如下:
var jsonString = '{"name":"劉德華","age":35.2,"birthday":"1966-01-01"}' ? ?//普通json字符串var jsonObj = JSON.parse(jsonString) ? //把json字符串轉(zhuǎn)為json對象
這樣我們就把json字符串轉(zhuǎn)為json對象了
然后,我們再把json對象轉(zhuǎn)為json字符串,這樣,就可以實現(xiàn)json格式化了
JSON.stringify(jsonObj, null, 4)
轉(zhuǎn)換結(jié)果如下
{ ? ?"name": "劉德華", ? ?"age": 25.2, ? ?"birthday": "1990-01-01"}
上面JSON.stringify里面的4指的是代碼縮進量,你也可以設(shè)置為2或者1等等
這樣就單間的實現(xiàn)了json格式化功能
demo預(yù)覽
寫了一個小demo,可以試用。https://json.gitapp.cn
json格式化原理
JSON 可以將程序語言對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在網(wǎng)絡(luò)或者程序之間輕松地傳遞這個字符串,并在需要的時候?qū)⑺€原為各編程語言所支持的數(shù)據(jù)格式,例如在 PHP 中,可以將 JSON還原為數(shù)組或者一個基本對象。在用到AJAX時,如果需要用到數(shù)組傳值,這時就需要用JSON將數(shù)組轉(zhuǎn)化為字符串。JSON在線解析功能的原理主要是將輸入的 JSON 文本轉(zhuǎn)換為內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),然后對其進行解析并轉(zhuǎn)換為可操作的 JavaScript 對象。 在實現(xiàn) JSON 解析功能時,可以選擇使用遞歸下降解析器或狀態(tài)機解析器。遞歸下降解析器使用遞歸函數(shù)來處理每種類型的 Token,而狀態(tài)機解析器則將解析過程看作一系列狀態(tài)轉(zhuǎn)換。此外,還需要注意處理 JSON 文本中的特殊字符、數(shù)字溢出等細節(jié)問題,并確保安全性,避免惡意輸入導(dǎo)致的安全漏洞。