Chapter 34 Further Reading

Official Documentation

  • Free Pascal fpjson Reference — Documentation for the fpjson unit including TJSONObject, TJSONArray, TJSONParser, and all JSON data types.
  • https://www.freepascal.org/docs-html/fcl/fpjson/index.html

  • Free Pascal XML Units — Documentation for the DOM, XMLRead, and XMLWrite units used for XML processing.

  • https://www.freepascal.org/docs-html/fcl/dom/index.html

  • Free Pascal IniFiles Unit — Reference for TINIFile and related classes.

  • https://www.freepascal.org/docs-html/fcl/inifiles/index.html

Specifications

  • RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format — The official JSON specification. Short and readable — the entire format is defined in 16 pages.
  • https://www.rfc-editor.org/rfc/rfc8259

  • RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files — The closest thing to a CSV standard. Defines quoting, escaping, and header rows.

  • https://www.rfc-editor.org/rfc/rfc4180

  • W3C XML Specification — The formal XML specification. Dense but authoritative.

  • https://www.w3.org/TR/xml/

Books and Articles

  • Crockford, D. (2008). JavaScript: The Good Parts. Douglas Crockford invented JSON. Chapter 6 explains the design rationale — why JSON is deliberately minimal.

  • Harold, E.R. and Means, W.S. (2004). XML in a Nutshell. Comprehensive XML reference. Useful if you need to work with XML namespaces, schemas, or XPath.

Connecting to Other Languages

Task Pascal Python C# JavaScript
Parse JSON fpjson + jsonparser json.loads() System.Text.Json JSON.parse()
Write JSON TJSONObject.FormatJSON json.dumps() JsonSerializer.Serialize() JSON.stringify()
Parse XML DOM + XMLRead xml.etree System.Xml DOMParser
Read INI TINIFile configparser IniFile (third-party) ini (npm package)
Parse CSV Custom parser csv module CsvReader csv-parse (npm)

The concepts are identical across languages — only the API names change.