19 个稳定版本

1.7.8 2024年3月20日
1.7.6 2023年11月11日
1.7.3 2023年7月26日
1.4.0 2023年3月20日
0.1.0 2022年12月20日

#415 in 命令行工具

MIT 许可证

43KB
529

Crates.io Codacy Badge codecov CI Update release version. Public workflows that use this action.

Ubuntu Mac OS Windows

json2file

简化了将 JSON 数据序列化到文件的过程。

用法

...
    - name: Set output
      id: set-output
      run: |
        echo "color=green" >> $GITHUB_OUTPUT

    - name: Generate file output from json
      uses: tj-actions/json2file@v1
      with:
        directory: 'output'
        outputs:  ${{ toJSON(steps.set-output.outputs) }}
        keys: 'color'
        extension: 'txt'
...

上述示例将在 output 目录中创建一个名为 color.txt 的文件,内容为 green

$ cat ./output/color.txt
green

输入

INPUT 类型 必需 默认值 描述
bin_path 字符串 false 二进制文件的路径
directory 字符串 true ".github/outputs" 要写入的目录
extension 字符串 false "txt" 要使用的文件扩展名,可能的
值:txt, json
keys 字符串 true 要读取的键列表
outputs JSON 字符串
outputs 字符串 true JSON 字符串
skip_missing_keys 字符串 false "false" 跳过在 outputs JSON 字符串中找不到的缺失键
未找到缺失键时跳过

安装

要安装 json2file,打开终端窗口(Windows 上的命令提示符或 PowerShell)并运行以下命令

cargo install json2file

从源码构建

如果您更喜欢从源码构建,请按照以下步骤操作

git clone https://github.com/tj-actions/json2file
cd json2file
cargo build --release

CLI 参考

运行 json2file --help 以获取更多信息。

$ json2file --help
Generate file output from JSON

Usage: json2file [OPTIONS] --keys <KEYS> --outputs <OUTPUTS> --directory <DIRECTORY>

Options:
  -k, --keys <KEYS>            Space delimited list of keys to extract from the JSON output
  -o, --outputs <OUTPUTS>      The JSON output to use
  -d, --directory <DIRECTORY>  The directory to output the files to
  -s, --skip-missing-keys      Skip missing keys
  -e, --extension <EXTENSION>  The extension to use for the files [default: txt] [possible values: txt, json, csv]
  -v, --verbose                
  -h, --help                   Print help
  -V, --version                Print version

示例

运行

json2file --keys="foo bar" --outputs="{\"foo\": \"value1\", \"bar\": \"value2\"}" --directory=/tmp --extension=txt

这将创建以下内容的两个文件

foo.txt

value1

bar.txt

value2

如果您感觉慷慨并想表达额外的感激之情

Buy me a coffee

鸣谢

本包使用Cookiecuttercookiecutter-action创建。

报告错误

请在此处报告错误:https://github.com/tj-actions/json2file/issues

如果您正在报告错误,请包括以下信息:

  • 您的操作系统名称和版本。
  • 可能有助于故障排除的任何有关您的工作流程的详细信息。
  • 重现错误的详细步骤。

依赖项

~4.5–7MB
~112K SLoC