Commit Graph

19 Commits

Author SHA1 Message Date
Mike Farah 13d1bbb45f
Generic ast (#1829)
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
2023-10-18 12:11:53 +11:00
Anders Björklund cf8cfbd865
Allow build without json and xml support (#1556)
* Refactor ordered_map into separate files

Separate json and xml, from the regular yaml.

Makes it possible to compile, without those...

* Refactor encoder and decoder creation

Use more consistent parameters vs globals

Return errors instead of calling panic()

* Allow build without json and xml support
2023-03-01 13:19:06 +11:00
Mike Farah c5994a8b28 Simplified json error check 2022-11-11 09:50:22 +11:00
Mike Farah 3435fee1f9 Fixed handling of json decoding error #1423 2022-11-10 22:33:43 +11:00
Mike Farah 2c9b5be408 Fixed json decode to maintain key order 2022-08-01 16:26:43 +10:00
Mike Farah ec8ef312ef
Added XML encoding/decoding (#1067)
* Added XML encoding/decoding

* Minor fixes

* Improve yq doc

* Lint
2022-01-15 11:57:59 +11:00
Matthieu MOREL 8711042c98 enable errorlint linter 2021-11-24 09:14:02 +11:00
Mike Farah 08fc058934 Fix JSON encoding removing null #985 2021-10-30 13:37:21 +11:00
evnp 1be3b31bbc Don't escape HTML chars when converting to json
json.Encoder and json.Marshal implicitly use HTMLEscape to convert
>, <, &, with \u003c, \u003e, \u0026. This behavior carries over
to yq, where chars will be escaped when outputting json but not when
outputting yaml.

This changeset disables this behavior via encoder.SetEscapeHTML(false).
Unfortunately there is no equivalent option for json.Marshal, so its
single usage has been replaced with an encoder (with escaping disabled).
2021-02-11 10:58:40 +11:00
Mike Farah 49ac2bac13 Cleaning up exposed public api 2021-02-11 10:58:40 +11:00
Mike Farah b1f139c965 refactored 2020-11-04 10:48:43 +11:00
Morgan Bazalgette bb9cb0c60e fix tests 2020-10-09 08:38:42 +11:00
Morgan Bazalgette a125495eec keep order of keys when json marshalling 2020-10-09 08:38:42 +11:00
Mike Farah a8cfccd3af Merge master fix 2020-09-13 10:59:40 +10:00
Mike Farah f528b28938 Convert to JSON now handles non string keys 2020-09-13 10:44:22 +10:00
Mike Farah f91093d5fe Colors work for all commands 2020-02-28 10:42:19 +11:00
Mike Farah 6840ea8c78 can set indent levels 2020-02-03 16:56:01 +11:00
Mike Farah 166f866f28 Pretty print json 2020-02-03 16:31:03 +11:00
Mike Farah 854f5f0fc9 wip json encoding 2020-01-10 22:01:59 +11:00