Shell:以字符串格式映射所有键(json兼容)



我在一个文件中有一个对象,如:

foo.txt

{
"methods" :
{
0 : "GET",
},
}

我想用jq或其他一些shell转换器转换为json。具体来说,我想把每个键变成一个字符串0->"0"。键可以是数字键,也可以是字母数字键。

更新

任何其他工具也是可以接受的。任何能完成任务的事情。最好是一个外壳工具。

使用hjson(使用Python(,可以使用-j标志

-j            Output as formatted JSON.

如下所示:

hjson -j yourfile.txt
{
"methods": {
"0": "GET"
}
}

另一种方法可以是使用YAML处理器mikefarah/yq(用Go编写(及其-o标志

-o, --output-format string          [yaml|y|json|j|props|p|xml|x] output format type. (default "yaml")

如下

yq -o json yourfile.txt
{
"methods": {
"0": "GET"
}
}

但是yq也有一个JSON转换器@json作为内置函数,如果你想进一步调整动态数据:

yq '@json' yourfile.txt
{"methods":{"0":"GET"}}

相关内容

  • 没有找到相关文章

最新更新