使用 Shell 脚本将 .txt 转换为 json

iOS*_*mer 4 shell json jq

我有一个文本文件data.txt

Framework1,Version1
Framework2,Version2
Framework3,Version3
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为data.json如下所示:

[
{"FrameworkName":"Framework1", "VersionName":"Version1"},
{"FrameworkName":"Framework3", "VersionName":"Version2"},
{"FrameworkName":"Framework3", "VersionName":"Version3"}
]
Run Code Online (Sandbox Code Playgroud)

我试过使用,awk但对我帮助不大。任何帮助,将不胜感激。

Rom*_*est 6

jq 解决方案:

jq -Rs '[ split("\n")[] | select(length > 0) 
          | split(",") | {FrameworkName: .[0], VersionName: .[1]} ]' data.txt
Run Code Online (Sandbox Code Playgroud)

输出:

[
  {
    "FrameworkName": "Framework1",
    "VersionName": "Version1"
  },
  {
    "FrameworkName": "Framework2",
    "VersionName": "Version2"
  },
  {
    "FrameworkName": "Framework3",
    "VersionName": "Version3"
  }
]
Run Code Online (Sandbox Code Playgroud)

https://stedolan.github.io/jq/manual/v1.5/