JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。它基于JavaScript语言的一个子集,但独立于语言和平台。
JSON可以表示简单的数据结构,如数字、字符串和布尔值,也可以表示复杂的结构,如对象和数组。除了基本数据类型,JSON还支持null和undefined值。
在JSON中,所有的值都必须是有效的JSON数据类型,包括二进制数据。二进制数据在JSON中被表示为一个特殊的类型——bin。
{ "name": "John", "age": 30, "avatar": { "type": "bin", "data": "base64编码的二进制数据" } }
上面的例子中,avatar字段的值是一个对象,它包含一个类型字段和一个data字段。类型字段的值是bin,表示这是一个二进制数据。data字段的值是二进制数据的base64编码字符串。
在使用JSON处理二进制数据时,需要先将二进制数据转换为base64编码,然后将其作为字符串存储到JSON中。在读取JSON数据时,需要先将base64编码的字符串解码为二进制数据。
const data = { name: 'John', age: 30, avatar: { type: 'bin', data: base64EncodedString } }; const avatarBuffer = Buffer.from(data.avatar.data, 'base64'); console.log(avatarBuffer);
上面的例子中,我们使用Node.js中的Buffer模块将base64编码的字符串转换为二进制数据。