JSON (.json)

背景

    • MIME 类型:application/json.
    • 数据交换格式.
    • 支持 JSON 的完整语义,但使用其特有的解释.
    • 使用 Wolfram 语言中的规则列表识别 JSON 对象.
    • 常用于网络编程.
    • JSON 是 JavaScript Object Notation(JavaScript 对象表示法)的缩写.
    • 是基于 JavaScript 程序语言的子集.
    • 纯文本格式.
    • 开发于 2001 年.
    • 出版为 RFC 4627.

Import 与 Export

  • Import["file.json"] 给出基于规则表示的 JSON 文件.
  • Export["file.json", expr] 把规则列表导出至 JSON.
  • Import["file.json","elem"] 从一个 JSON 文件导入指定的参数.
  • Import["file.json",{"elem","sub",}] 导入一个子参数.
  • Import["file.json",{{"elem1","elem2",}}] 导入多个参数.
  • 导入格式可以用 Import["file","JSON"]Import["file",{"JSON",elem,}] 指定.
  • Export["file.json",expr,"elem"] 通过把 expr 作为指定参数 elem 创建一个 JSON 文件.
  • Export["file.json",expr,opt1->val1,] 导出具有指定值的指定选项参数的 expr.
  • Export["file.json",{"elem1"->expr1,"elem2"->expr2,},"Rules"] 使用规则指定要导出的参数.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 参数

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

选项

  • Export 选项:
  • "Compact"False是否使用换行符格式化文件内容

范例

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

基本范例  (2)

导入一个 JSON 文件的内容:

把一个化学参数和它们的属性列表导出到一个 JSON 文件:

范围  (1)

创建一个 JSON 文件的紧凑字符串的表示:

Import 参数  (2)

"Data"  (1)

将 JSON 文件导入为嵌套列表:

"Dataset"  (1)

将 JSON 文件导入为 Dataset:

可能出现的问题  (1)

ImportString 无法从包含 non-ASCII 字符的字符串导入为 JSON:

按照 JSON 标准的要求将数据转换为 UTF-8 以导入此类字符串: