【发布时间】:2014-10-26 06:07:47
【问题描述】:
如何将我的 Linux 目录中的提取数据保存为 JSON?我尝试将其保存到一个 XML 文件中,如果我运行脚本,它将生成一个 XML 文件,如“data.xml”。
我不知道如何将其转换为 JSON 文件。
这是我的 Bash 脚本中的 XML 模板:
file=~/data.xml
template=" <Data>\n\
<date>%d</date>\n\
<time>%d</time>\n\
<age>%d</age>\n\
<place>%s</place>\n\
<name>%d<name>\n\</Data>\n"
echo '<?xml version="1.0"?>' >> $file
echo '<List2>' >> $file
模板
printf "$template" "$date"\
"$time"\
"$age"\
"$place"\
"$name"\$file
#closing tag
echo '</List>' >> $file
【问题讨论】:
-
你不能对 JSON 而不是 XML 做同样的事情吗?
template='{"data":{"date":"%d" ... -
@Thilo:很棒的建议。
-
@Gen 您已经在模板中提供了您的数据($date、$time 等...)。您唯一的挑战是以 json 格式格式化输出。拥有可以以多种格式输出数据的脚本并不罕见。
-
如果您想保留 XML 生成器,您还可以考虑将 XML 转换为 JSON。请参阅stackoverflow.com/questions/18830248/… 了解一个很好的例子。
-
通用 XML 到 JSON 可能是一个挑战,因为 XML 数据都是字符串,而 JSON 类型很少。没有简单的方法来判断像“12345”这样的标记是数字还是字符串。其他方式(JSON->XML)更容易,使用像
jq这样的工具。可以转换架构,但这需要更多的设置工作