UBJSON (.ubj)
背景
-
- MIME 类型:application/ubjson.
- 数据交换二进制格式.
- 支持完整 UBJSON 语法.
- UBJSON 确定有 Wolfram 语言关联的 UBJSON 对象.
- UBJSON 从通用二进制 JSON 衍生缩写.
- 对于数值用高位优先顺序的二进制格式.
- JSON 和 UBJSON 有一对一的变换.
- UBJSON 在 http://ubjson.org/ 中指定.
Import 与 Export
- Import["file.ubj"] 将 UBJSON 文件导入为嵌套列表和关联的组合.
- ImportString["string","UBJSON"] 导入 UBJSON 的字节字符串.
- Export["file",expr,"UBJSON"] 将嵌套列表和关联的组合导出到 UBJSON 文件.
- ExportString[expr,"UBJSON"] 导出 UBJSON 字节字符串.
- "UBJSON" 格式定义在 Wolfram 语言中有关联的 UBJSON 对象.
- "UBJSON" 使用 Wolfram 语言列表 {e1,e2,…} 来识别 JSON 列表 [e1,e2,…].
- 在 Wolfram 语言中的单字符的字符串在 UBJSON 中表示为字符. Wolfram 语言中的多字符的字符串表示为 UBJSON 字符串.
- 机器精度的整数表示为其可以匹配的最小 UBJSON 整数类型.
- 大整数表示为数字的 UBJSON 字符串.
- Wolfram 语言压缩数组表示为 UBJSON 数组. 复数值不被支持.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表
选项
- Export 选项:
-
"ConversionFunction" None 用于额外转换的函数 "ConversionRules" {} 用于覆盖或添加转换的规则 - 在内嵌对话运行前,"ConversionRules" 的设置用于替换子表达式.
- "ConversionFunction" 的设置可用于没有定义内嵌对话的子表达式.
范例
基本范例 (7)
将一个 List 导出为 UBJSON 格式:
bytes = ExportString[{1, 2, 3}, "UBJSON"];ImportString[bytes, "UBJSON"]将一个 Association 导出为 UBJSON 格式:
bytes = ExportString[<|"x" -> 1, "y" -> 2.5|>, "UBJSON"];ImportString[bytes, "UBJSON"]ExportString[2 ^ 7 - 1, "UBJSON"]//StringLengthExportString[2 ^ 15 - 1, "UBJSON"]//StringLengthExportString[2 ^ 31 - 1, "UBJSON"]//StringLengthExportString[2 ^ 63 - 1, "UBJSON"]//StringLengthListPlot[Table[
{exponent, StringLength[ExportString[10 ^ exponent, "UBJSON"]]},
{exponent, 20, 40, 2}]]导出 ByteArray 产生一个简洁、強型別的 UBJSON 数组输出:
ExportString[ByteArray[Range[255]], "UBJSON"]//StringLength将相同数据导出为标准 List:
ExportString[Range[255], "UBJSON"]//StringLength导出一个 ASCII 字符的字符串产生一个 UBJSON 字符:
ExportString["A", "UBJSON"]导出非 ASCII 字符产生一个 UBJSON 字符串输出:
ExportString["", "UBJSON"]//StringLengthExportString["hello", "UBJSON"]//StringLengthdata = ExportString[{Quantity["42.195", "Kilometers"], Quantity["21.097", "Kilometers"], Quantity["10", "Kilometers"]}, "UBJSON", "ConversionRules" -> {Quantity[magnitude_, unit_] :> <|"magnitude" -> magnitude, "unit" -> unit|>}];ImportString[data, "UBJSON"]相关指南
-
▪
- 二进制数据 ▪
- 导入和导出 ▪
- 导入和导出数据库格式 ▪
- 所有格式的列表 ▪
- 系统和设备格式 ▪
- 表格与电子数据表格式 ▪
- 网页格式
相关的工作流程
- Generate JSON
相关的工作流程
▪
历史
2017年引入 (11.1)