JSON格式化 - 美化压缩校验
程序员必备JSON处理工具,支持格式化、压缩、校验
缩进:
JSON知识
什么是JSON?
JSON(JavaScript Object Notation)是轻量级数据交换格式,易于阅读和编写,广泛用于Web API数据传输。
JSON格式要求
键名必须用双引号,字符串值用双引号,不能有注释,最后一项不能有逗号,支持对象、数组、字符串、数字、布尔、null。
格式化的作用
格式化后的JSON有缩进和换行,便于阅读和调试;压缩后去除空白字符,减小传输体积。
常见错误
单引号替代双引号、末尾多余逗号、键名没加引号、使用undefined等都会导致JSON解析失败。
JSON与XML对比
JSON比XML更轻量、解析更快、可读性更好。XML适合文档标记,JSON适合数据交换。
JSON5扩展
JSON5是JSON的超集,支持注释、单引号、末尾逗号等,更贴近JS语法,但兼容性较差。
常见问题
JSON为什么不能有注释?
JSON被设计为纯数据格式,不包含注释是为了保持简洁和通用性。如果需要注释,可以考虑使用JSON5格式,或在键名中添加说明字段。
为什么我的JSON解析报错?
常见原因:1)使用了单引号而非双引号;2)最后一项后面有多余逗号;3)键名没有用双引号包裹;4)包含JavaScript特有值如undefined、NaN;5)字符串中有未转义的特殊字符。
格式化和压缩JSON的作用是什么?
格式化添加缩进和换行,便于人类阅读和调试;压缩去除所有空白字符,减小文件体积,适合网络传输和存储。开发时用格式化,生产环境用压缩。
JSON支持哪些数据类型?
JSON支持6种数据类型:字符串(String)、数字(Number)、布尔值(Boolean)、null、对象(Object)、数组(Array)。不支持日期、函数、undefined等JavaScript类型。
JSON中如何表示日期?
JSON没有原生日期类型,通常用ISO 8601格式字符串表示,如"2024-01-15T10:30:00Z"。也可以用Unix时间戳(毫秒数)。解析时需要手动转换为Date对象。
JSONP和JSON有什么区别?
JSONP是一种跨域数据传输技术,将JSON数据包装在回调函数中(如callback({...}))。它利用script标签不受同源策略限制的特点。现代开发更推荐使用CORS实现跨域。