json2yaml 1.2.7

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global json2yaml --version 1.2.7                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local json2yaml --version 1.2.7                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=json2yaml&version=1.2.7                
nuke :add-package json2yaml --version 1.2.7                

json2yaml

A simple tool to convert json to yaml.

json2yaml converter reads json input (from file, url endpoint or stdin) and produces converted yaml output (to file or stdout).

Installation


dotnet tool install --global json2yaml

By default .NET will choose which runtime to target.

You can use specific framework version if you want to run tool on different runtime:

dotnet tool install json2yaml --global --framework netcoreapp2.1

Usage


Usage: json2yaml [options]

Options:
  -i|--input           Path to json input file. I.e. `-i:file.json` (or `-i="file.json"`). If empty value provided (`-i`), converter will search current directory for *.json file.
  -u|--url             HTTP endpoint to fetch json input from.
  -c|--console-output  [Optional]. Flag specifies if converted yaml should be printed directly to console. (In this case -o option is ignorred.)
  -o|--output          [Conditionally Optional]. Path to output yaml file. I.e. `-o:file.yaml (or -o="file.yaml")`. Optional only with -i or -c option. If omitted or empty value provided ('-o') converter will output to file named like input, but with .yaml extension.
  -m|--max-size        [Optional]. Specifies size limit for file to be converted. I.e. `-m:10`. If omitted, converter will skip file larger that 20 MB. Respected only when used together with -i option.
  --version            Shows tool version. If more options are provided this option is ignored.
  -v|--verbose         Verbose output. Shows more details on errors.
  -?|-h|--help         Show help information

Examples


The simplest use case to take input from file:

json2yaml -i

This will search current directory for json file. Convert its contents to yaml. And writes output to file named as input file, but with extension .yaml.

For remote input use this:

json2yaml -u:https://localhost:5001/swagger/v1/swagger.json -o:swagger.yaml

Note. For --url option either --output or flag --console-output is required.

To print conversion results directly to console use -c|--console-output flag:

json2yaml -i:input.json -c

Read input from stdin:

cat test.json | json2yaml -o:output.yaml

Tool supports full piping scenarios:

cat swagger.json | json2yaml -c | grep version
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.1 is compatible.  netcoreapp2.2 is compatible.  netcoreapp3.0 is compatible.  netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
5.0.0 4,096 12/28/2022
4.0.0 366 12/1/2022
3.0.1 2,655 11/28/2021
2.2.0 409 10/9/2021
2.1.0 532 12/20/2020
2.0.0 554 7/9/2020
1.3.0 571 5/31/2020
1.2.7 526 4/18/2020
1.2.6 530 3/6/2020
1.2.5 597 12/23/2019
1.2.4 527 12/23/2019
1.2.3 550 12/21/2019
1.2.2 549 12/18/2019
1.2.1 539 11/9/2019
1.2.0 539 11/9/2019
1.1.0 584 10/21/2019
1.0.5 693 9/9/2019
1.0.4 673 8/10/2019
1.0.3 641 7/7/2019
1.0.2 584 6/13/2019
1.0.1 607 5/18/2019
1.0.0 608 5/15/2019
0.4.0 927 4/6/2019
0.3.2 804 1/20/2019
0.3.1 697 12/17/2018
0.3.0 770 12/9/2018
0.2.0 701 11/24/2018
0.1.2-alpha 620 11/14/2018
0.1.1-alpha 548 11/8/2018
0.1.0-alpha 574 11/6/2018

1.2.7:
* bump version of dependencies
1.2.6:
* file io opperations made async
1.2.5:
* fix incorrect recursion level handling in nested objects
1.2.4:
* better support for lists with mixed types in root level
1.2.3:
* bump versions of dependencies
1.2.2:
* add dotnet core 3.1 support
1.2.1:
* fix json2yaml throws error for null simple value
1.2.0:
* support simple value types in root (i.e. echo 5 | json2yaml -c)
1.1.0:
* support multiple runtimes: dotnet core 2.1, dotnet core 2.2, dotnet core 3.0
1.0.5:
* add -v|--verbose option. It shows more detailed errors
1.0.4:
* bump versions of dependencies
1.0.3:
* add --version option. It shows only version string
* fix incorrect message when -u|--url option value is missing
* fix incorrect message when -m|--max-size option value is missing
1.0.2:
* return error if json2yaml is run with no options in stdin mode (i.e. echo 5 | json2yaml)
1.0.1:
* bump versions of dependencies
* use MIT licence identifier in package
1.0.0:
* read input from redirected stdin. Full piping scenarious is supported
0.4.0:
* -c|--console-output: print output results directly to console
0.3.2:
* fix json2yaml -i throws when run on directory without any *.json file
* fix message when json size exceeds value provided with --max-size option
0.3.1:
* support array in root
0.3.0:
* -u|--url option to read input from http endpoint
* show tool version
0.2.0:
* -m|--max-size option
0.1.2-alpha:
* cleanup tool output to console
0.1.1-alpha:
* handle gracefully command line parsing errors