JSON (.json)

  • Import and Export support the JSON file format.
  • Background

      MIME type: application/json.
      Data interchange format.
      Supports full JSON syntax but uses a specific interpretation.
      Identifies JSON objects with lists of rules in the Wolfram Language.
      Commonly used in web programming.
      JSON is an acronym derived from JavaScript Object Notation.
      Based on a subset of the JavaScript programming language.
      Plain text format.
      Developed in 2001.
      Published as RFC 4627.

    Import and Export

    • Import["file.json"] gives a rule-based representation of a JSON file.
    • Export["file.json", expr] exports a list of rules to JSON.
    • Import["file.json","elem"] imports the specified element from a JSON file.
    • Import["file.json",{"elem","sub",}] imports a subelement.
    • Import["file.json",{{"elem1","elem2",}}] imports multiple elements.
    • The import format can be specified with Import["file","JSON"] or Import["file",{"JSON",elem,}].
    • Export["file.json",expr,"elem"] creates a JSON file by treating expr as specifying element elem.
    • Export["file.json",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
    • Export["file.json",{"elem1"->expr1,"elem2"->expr2,},"Rules"] uses rules to specify the elements to be exported.
    • See the main function pages for full general information on Import and Export.
    • ImportString and ExportString support the JSON data format.

    Elements

    • General Import elements:
    • "Elements"list of elements and options available in this file
      "Rules"full list of rules for each element and option
      "Options"list of rules for options, properties, and settings
    • Data representation element:
    • "Data"contents of a JSON file as nested rules
    • Import by default uses the "Data" element.
    • The "JSON" format identifies JSON objects of the form {field1:value1,field2:value2,} with lists of rules of the form {"field1"->value1,"field2"->value2,} in the Wolfram Language.
    • "JSON" identifies JSON lists [e1,e2,] with Wolfram Language lists {e1,e2,}.
    • Strings in the Wolfram Language are represented in JSON as UTF-8 strings, escaped as required by the JSON standard.
    • Numbers where scientific notation is used are given in JSON in E notation.
    • The symbols True and False are represented in JSON as the values true and false.
    • The symbol Null is represented as the JSON value null.
    • When importing from JSON, lists are returned in standard Wolfram Language sorting order.

    Options

    • Export option:
    • "Compact"Falsewhether to use line breaks to format file content

    Examples

    open allclose all

    Basic Examples  (2)

    Import the contents of a JSON file:

    In[1]:=
    Click for copyable input
    Out[1]=

    Export a list of chemical elements and their properties to a JSON file:

    In[1]:=
    Click for copyable input
    Out[1]=

    Scope  (1)

    See Also

    "RawJSON"  "ExpressionJSON"  "UBJSON"  "XML"  "ExpressionML"

    Introduced in 2010
    (8.0)
    | Updated in 2014
    (10.0)