将文本文件中的数据转换为JSON [英] Convert data in a text file into JSON
本文介绍了将文本文件中的数据转换为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在名为data.txt
的文本文件中有数据,例如
I have data in a text file named data.txt
, like
1. John (1994) 92
2. Granny (1972) 82
我想使用Awk将此数据转换为JSON格式.预期结果:
I want to convert this data to JSON format using Awk. Expected result:
[{
"ID" : "1",
"Name" : "John",
"Birth" : "1994",
"Marks" : "92"
}]
我用jq尝试过
jq -R '[ split("\n")[] | select(length > 0) | split(" ") | {ID: .[0], Name: .[1], Birth: .[2], Marks: .[3]}]' data.txt
推荐答案
awk ' BEGIN { print "[" ; } { print " {\n" " \"ID\" : \"" $1 "\",\n" " \"Name\" : \"" $2 "\",\n" " \"Birth\" : \"" $3 "\",\n" " \"Marks\" : \"" $4 "\"\n" " }" } END { print "]" } ' data.txt
或者,您也可以执行以下操作.
or, you can do the following, too.
awk ' BEGIN { print "[" ; } \
{ print " {" \
print " \"ID\" : \"" $1 "\"," \
print " \"Name\" : \"" $2 "\"," \
print " \"Birth\" : \"" $3 "\"," \
print " \"Marks\" : \"" $4 "\"" \
print " }" \
} \
END { print "]" } ' data.txt
然后您将看到以下输出.
Then you can see the following output.
[
{
"ID" : "1.",
"Name" : "John",
"Birth" : "(1994)",
"Marks" : "92"
}
{
"ID" : "2.",
"Name" : "Granny",
"Birth" : "(1972)",
"Marks" : "82"
}
]
这篇关于将文本文件中的数据转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文