RawJSON (.json)

背景

    • MIME 类型:application/json.
    • 数据互换格式.
    • RawJSON 支持 JSON 的完整语法,但使用其特有的解释
    • RawJSON 使用 Wolfram 语言的相关功能来识别 JSON 对象.
    • JSON 常用于网络编程.
    • JSON 源自 JavaScript 对象表示法(Object Notation)的缩写.
    • JSON 是基于 JavaScript 程序语言的一个子集.
    • 纯文本格式.
    • JSON 开发于2001年.
    • JSON 被发布为 RFC 4627.

Import 与 Export

  • Import["file","RawJSON"] 以嵌套列表和关联关系组合的形式导入 JSON 文件.
  • ImportString["string","RawJSON"] 导入一个 JSON 字符串.
  • Export["file",expr,"RawJSON"] 将嵌套列表和关联关系组合导出至一个 JSON 文件.
  • ExportString[expr,"RawJSON"] 导出至一个 JSON 字符串.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "Data"包括嵌套列表或关联关系的 JSON 文件的内容
    "Dataset"包括作为 Dataset 的 JSON 文件
  • 默认情况下,Import 使用"Data"参数.
  • "RawJSON" 格式使用 Wolfram 语言中形式为 <|"field1"->value1,"field2"->value2,|> 的关联关系来识别形式为 {field1:value1,field2:value2,} 的 JSON 对象.
  • "RawJSON" 使用 Wolfram 语言列表{e1,e2,}来识别 JSON 列表[e1,e2,].
  • Wolfram 语言中的字符串在 RawJSON 中表示为 UTF-8 字符串,根据 JSON 标准要求转义.
  • 在 RawJSON 中,科学计数法表示的数字都使用 E(指数)表示法.
  • 在 RawJSON 中,TrueFalse 这两个符号使用 truefalse 两个值表示.
  • 在 RawJSON 中,Null 使用 null 值表示.

选项

  • Export 选项:
  • "Compact"False是否删除换行符和制表符
    "ConversionFunction"None用于额外转换的函数
    "ConversionRules"{}用于覆盖或添加转换的规则
  • 在内嵌对话运行前,"ConversionRules" 的设置用于替换子表达式.
  • "ConversionFunction" 的设置可用于没有定义内嵌对话的子表达式.
  • "Compact"->n 包括缩进第 n 层的分行符和跳格符.

范例

打开所有单元关闭所有单元

基本范例  (9)

导入一个 JSON 列表:

给出一个由 JSON 对象组成的字符串:

导入该字符串,会给出一个关联关系:

导入一个 JSON 文件的内容:

导入一个 URL:

向 JSON 字符串导出一个表达式:

向一个 JSON 文件导出化学元素列表及其属性:

导出至一个字符串:

使用对话函数将日期转为 ISO 8601 格式:

使用对话规则(conversion rules)来转换规则和数量:

使用 "Compact" 控制输出格式,以限制缩进:

范围  (1)

创建简略字符串表示的 JSON 文件:

Import 参数  (2)

"Data"  (1)

将 JSON 文件导入为嵌套关联:

"Dataset"  (1)

将 JSON 文件导入为 Dataset