需要将以下数据转换为JSON

需要将以下数据转换为JSON,json,jq,Json,Jq,我有一个代码,它将输出写入以下格式的文件 Application-Id : application_xxxx_xxxx Application-Name : hive-job Application-Type : MAPREDUCE User : mapr Queue : xdev Start-Time : 1234567 Finish-Time : 1234567 Progress : 0% State : FAILED Final-State : FAILED Tracking-URL :

我有一个代码,它将输出写入以下格式的文件

Application-Id : application_xxxx_xxxx
Application-Name : hive-job
Application-Type : MAPREDUCE
User : mapr
Queue : xdev
Start-Time : 1234567
Finish-Time : 1234567
Progress : 0%
State : FAILED
Final-State : FAILED
Tracking-URL : N/A
RPC Port : -1
AM Host : N/A
Aggregate Resource Allocation : 0 MB-seconds, 0 vcore-seconds
Diagnostics : Application rejected by queue placement policy
我需要将上述数据转换为json格式。

这里有一个解决方案,假设您要创建json对象:

jq -Rn '[inputs | capture("(?<key>[^ ]*) : (?<value>.*)") ] | from_entries' input.txt

你需要添加更多的信息。就像您使用的语言一样,您要推送到文件的对象是什么。你不能把一个随机的句子变成一个json字符串。它不是那样工作的。对不起,我可以用python或sed转换数据吗?它看起来像API调用的头,而不是数据,所以你可能需要从你的身体响应中获取数据,然后应该是json,或者很容易转换。我已经转换了一些您需要的内容,以向您展示它应该是什么样子:{Application-Id:Application\u-xxxx\u-xxxx,Application-Nam:hive-job,Application-Type:MAPREDUCE}
{
  "Application-Id": "application_xxxx_xxxx",
  "Application-Name": "hive-job",
  "Application-Type": "MAPREDUCE",
  "User": "mapr",
  "Queue": "xdev",
  "Start-Time": "1234567",
  "Finish-Time": "1234567",
  "Progress": "0%",
  "State": "FAILED",
  "Final-State": "FAILED",
  "Tracking-URL": "N/A",
  "Port": "-1",
  "Host": "N/A",
  "Allocation": "0 MB-seconds, 0 vcore-seconds",
  "Diagnostics": "Application rejected by queue placement policy"
}