开发了一个json格式化工具,使用js格式化json的代码分享
今天给大家介绍一下如何通过js来格式化json。
假设json字符串是:
{"name":"刘德华","age":25.2,"birthday":"1990-01-01"}
我们使用的是Js的JSON方法
先把json字符串转为json对象,方法如下:
var jsonString = '{"name":"刘德华","age":35.2,"birthday":"1966-01-01"}' //普通json字符串
var jsonObj = JSON.parse(jsonString) //把json字符串转为json对象
这样我们就把json字符串转为json对象了
然后,我们再把json对象转为json字符串,这样,就可以实现json格式化了
JSON.stringify(jsonObj, null, 4)
转换结果如下
{
"name": "刘德华",
"age": 25.2,
"birthday": "1990-01-01"
}
上面JSON.stringify里面的4指的是代码缩进量,你也可以设置为2或者1等等
这样就单间的实现了json格式化功能
demo预览
写了一个小demo,可以试用。json格式化
json格式化原理
JSON 可以将程序语言对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式,例如在 PHP 中,可以将 JSON还原为数组或者一个基本对象。在用到AJAX时,如果需要用到数组传值,这时就需要用JSON将数组转化为字符串。JSON在线解析功能的原理主要是将输入的 JSON 文本转换为内存中的数据结构,然后对其进行解析并转换为可操作的 JavaScript 对象。 在实现 JSON 解析功能时,可以选择使用递归下降解析器或状态机解析器。递归下降解析器使用递归函数来处理每种类型的 Token,而状态机解析器则将解析过程看作一系列状态转换。此外,还需要注意处理 JSON 文本中的特殊字符、数字溢出等细节问题,并确保安全性,避免恶意输入导致的安全漏洞。