diff --git a/docs/src/flatten-unflatten.md b/docs/src/flatten-unflatten.md index d876dea09..276c2b577 100644 --- a/docs/src/flatten-unflatten.md +++ b/docs/src/flatten-unflatten.md @@ -16,20 +16,19 @@ Quick links: # Flatten/unflatten: converting between JSON/YAML and tabular formats -Miller has long supported reading and writing multiple [file -formats](file-formats.md) including CSV, JSON, and YAML, as well as converting -back and forth between them. Two things new in [Miller 6](new-in-miller-6-md), -though, are that [arrays are now fully supported](reference-main-arrays.md), -and that [record values are typed](new-in-miller-6.md#improved-numeric-conversion) -throughout Miller's processing chain from input through [verbs](reference-verbs.md) -to output -- which includes improved handling for [maps](reference-main-maps.md) and -[arrays](reference-main-arrays.md) as record values. +Miller has long supported reading and writing multiple [file formats](file-formats.md) including CSV +and JSON, as well as converting back and forth between them. Two things new in [Miller +6](new-in-miller-6-md), though, are that [arrays are now fully supported](reference-main-arrays.md), +and that [record values are typed](new-in-miller-6.md#improved-numeric-conversion) throughout +Miller's processing chain from input through [verbs](reference-verbs.md) to output -- which includes +improved handling for [maps](reference-main-maps.md) and [arrays](reference-main-arrays.md) as +record values. -This raises the question, though, of how to handle maps and arrays as record values. -For [JSON](file-formats.md#json) or [YAML](file-formats.md#yaml) files, this is easy -- -both are nested formats where values can be maps or arrays, which can contain other maps -or arrays, and so on, with the nesting happily indicated by curly braces (JSON) or -indentation (YAML): +This raises the question, though, of how to handle maps and arrays as record values. For +[JSON](file-formats.md#json) or [YAML](file-formats.md#yaml) files (supported since +[Miller 6.17.0](https://github.com/johnkerl/miller/releases#release-v6.17.0)), this is easy. both are +nested formats where values can be maps or arrays, which can contain other maps or arrays, and so +on, with the nesting happily indicated by curly braces (JSON) or indentation (YAML).
 cat data/map-values.json
@@ -67,9 +66,10 @@ see in this section, there are two main ways to **flatten** nested data
 structures down to individual CSV cells -- either by _key-spreading_ (which
 is the default), or by _JSON-stringifying_:
 
-* **Key-spreading** is when the single map-valued field
-`b={"x": 2, "y": 3}` spreads into multiple fields `b.x=2,b.y=3`;
-* **JSON-stringifying** is when the single map-valued field `"b": {"x": 2, "y": 3}` becomes the single string-valued field `b="{\"x\":2,\"y\":3}"`.
+- **Key-spreading** is when the single map-valued field `b={"x": 2, "y": 3}` spreads into multiple
+  fields `b.x=2,b.y=3`;
+- **JSON-stringifying** is when the single map-valued field `"b": {"x": 2, "y": 3}` becomes the
+  single string-valued field `b="{\"x\":2,\"y\":3}"`.
 
 Miller intends to provide intuitive default behavior for these conversions, while also
 providing you with more control when you need it.
@@ -153,7 +153,7 @@ a b.s.w b.s.x b.t.y b.t.z
 6 7     8     9     10
 
-**Unflattening** is simply the reverse -- from non-JSON/YAML back to JSON or YAML: +**Unflattening** is simply the reverse -- from non-JSON/YAML back to JSON/YAML:
 cat data/map-values.json
@@ -258,7 +258,7 @@ In the nested-data examples shown here, nested map values are shown containing
 maps, and nested array values are shown containing arrays -- of course (even
 though not shown here) nested map values can contain arrays, and vice versa.
 
-**Unflattening** arrays is, again, simply the reverse -- from non-JSON/YAML back to JSON or YAML:
+**Unflattening** arrays is, again, simply the reverse -- from non-JSON/YAML back to JSON/YAML:
 
 
 cat data/array-values.json
@@ -353,7 +353,7 @@ a.1,a.3,a.5
 
 An additional heuristic is that if a field name starts with a `.`, ends with
 a `.`, or has two or more consecutive `.` characters, no attempt is made
-to unflatten it on conversion from non-JSON/YAML to JSON or YAML.
+to unflatten it on conversion from non-JSON/YAML to JSON/YAML.
 
 
 cat data/flatten-dots.csv
diff --git a/docs/src/flatten-unflatten.md.in b/docs/src/flatten-unflatten.md.in
index f61d64aa3..40a2cabe3 100644
--- a/docs/src/flatten-unflatten.md.in
+++ b/docs/src/flatten-unflatten.md.in
@@ -1,19 +1,18 @@
 # Flatten/unflatten: converting between JSON/YAML and tabular formats
 
-Miller has long supported reading and writing multiple [file
-formats](file-formats.md) including CSV, JSON, and YAML, as well as converting
-back and forth between them. Two things new in [Miller 6](new-in-miller-6-md),
-though, are that [arrays are now fully supported](reference-main-arrays.md),
-and that [record values are typed](new-in-miller-6.md#improved-numeric-conversion)
-throughout Miller's processing chain from input through [verbs](reference-verbs.md)
-to output -- which includes improved handling for [maps](reference-main-maps.md) and
-[arrays](reference-main-arrays.md) as record values.
+Miller has long supported reading and writing multiple [file formats](file-formats.md) including CSV
+and JSON, as well as converting back and forth between them. Two things new in [Miller
+6](new-in-miller-6-md), though, are that [arrays are now fully supported](reference-main-arrays.md),
+and that [record values are typed](new-in-miller-6.md#improved-numeric-conversion) throughout
+Miller's processing chain from input through [verbs](reference-verbs.md) to output -- which includes
+improved handling for [maps](reference-main-maps.md) and [arrays](reference-main-arrays.md) as
+record values.
 
-This raises the question, though, of how to handle maps and arrays as record values.
-For [JSON](file-formats.md#json) or [YAML](file-formats.md#yaml) files, this is easy --
-both are nested formats where values can be maps or arrays, which can contain other maps
-or arrays, and so on, with the nesting happily indicated by curly braces (JSON) or
-indentation (YAML):
+This raises the question, though, of how to handle maps and arrays as record values.  For
+[JSON](file-formats.md#json) or [YAML](file-formats.md#yaml) files (supported since
+[Miller 6.17.0](https://github.com/johnkerl/miller/releases#release-v6.17.0)), this is easy. both are
+nested formats where values can be maps or arrays, which can contain other maps or arrays, and so
+on, with the nesting happily indicated by curly braces (JSON) or indentation (YAML).
 
 GENMD-RUN-COMMAND
 cat data/map-values.json
@@ -31,9 +30,10 @@ see in this section, there are two main ways to **flatten** nested data
 structures down to individual CSV cells -- either by _key-spreading_ (which
 is the default), or by _JSON-stringifying_:
 
-* **Key-spreading** is when the single map-valued field
-`b={"x": 2, "y": 3}` spreads into multiple fields `b.x=2,b.y=3`;
-* **JSON-stringifying** is when the single map-valued field `"b": {"x": 2, "y": 3}` becomes the single string-valued field `b="{\"x\":2,\"y\":3}"`.
+- **Key-spreading** is when the single map-valued field `b={"x": 2, "y": 3}` spreads into multiple
+  fields `b.x=2,b.y=3`;
+- **JSON-stringifying** is when the single map-valued field `"b": {"x": 2, "y": 3}` becomes the
+  single string-valued field `b="{\"x\":2,\"y\":3}"`.
 
 Miller intends to provide intuitive default behavior for these conversions, while also
 providing you with more control when you need it.
@@ -77,7 +77,7 @@ GENMD-RUN-COMMAND
 mlr --ijson --opprint cat data/map-values-nested.json
 GENMD-EOF
 
-**Unflattening** is simply the reverse -- from non-JSON/YAML back to JSON or YAML:
+**Unflattening** is simply the reverse -- from non-JSON/YAML back to JSON/YAML:
 
 GENMD-RUN-COMMAND
 cat data/map-values.json
@@ -119,7 +119,7 @@ In the nested-data examples shown here, nested map values are shown containing
 maps, and nested array values are shown containing arrays -- of course (even
 though not shown here) nested map values can contain arrays, and vice versa.
 
-**Unflattening** arrays is, again, simply the reverse -- from non-JSON/YAML back to JSON or YAML:
+**Unflattening** arrays is, again, simply the reverse -- from non-JSON/YAML back to JSON/YAML:
 
 GENMD-RUN-COMMAND
 cat data/array-values.json
@@ -161,7 +161,7 @@ GENMD-EOF
 
 An additional heuristic is that if a field name starts with a `.`, ends with
 a `.`, or has two or more consecutive `.` characters, no attempt is made
-to unflatten it on conversion from non-JSON/YAML to JSON or YAML.
+to unflatten it on conversion from non-JSON/YAML to JSON/YAML.
 
 GENMD-RUN-COMMAND
 cat data/flatten-dots.csv