- Import and Export support ExpressionJSON.
- ExpressionJSON provides lossless round-tripping of Wolfram Language expressions to and from JSON.
- By default, Import and Export use the "JSON" format for files ending in .json, rather than the "ExpressionJSON" format.
Background & Context
- MIME type: application/json.
- Data interchange format.
- ExpressionJSON provides a JSON representation of Wolfram Language expressions.
- JSON is commonly used in web programming.
- Plain text format.
- JSON was developed in 2001.
- JSON is published as RFC 4627.
Import & Export
- Import["file","ExpressionJSON"] imports a file that uses the ExpressionJSON format, producing an ordinary Wolfram Language expression.
- Export["file",expr,"ExpressionJSON"] exports an arbitrary expression to ExpressionJSON.
- Elements of expressions are represented as follows in ExpressionJSON:
"string" "'string'" (UTF-8, with JSON escaping) True, False true, false Null null symbol "symbol" (UTF-8) f[e1,e2,…,opt1val1,…] ["f",e1,e2,…,["Rule",opt1,val1],…]
- Machine integers are represented literally. Larger integers are represented as "digits".
- Machine-precision numbers are represented as JSON numbers using e notation.
- Arbitrary-precision numbers are by default given as "number", where number is the InputForm representation of the number.
- 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
Basic Examples (5)
Import a String:
Import a Quantity:
Export a list while converting None to JSON null: