jq 和数学函数

jq and Math functions

我正在从房地产数据库中检索 JSON。 jq 可以很容易地拉出单独的 properties/values,但有些值的单位不方便。例如,LotSize 变量的单位是平方英尺(需要除以 43560 才能得到英亩,这是比较常规的),而 dateSold 是一个 Linux 时间戳。这是一个示例:

{
    "lotsize": 65340,
    "dateSold": 1207897200
} 

我希望能够对 jq 处理的值进行数学计算。我已经阅读了手册 (https://stedolan.github.io/jq/manual/#Math),但它并没有告诉我如何去做。我想将上面的 JSON 数据转换成这样:

{
    "acres": 1.5,
    "soldOn": "Friday, April 11, 2008"
} 

我知道我可以对此进行修补 Excel,但让 jq 不做任何进一步处理就完成它会很酷。对这样做有什么想法吗?谢谢。

根据您的意见,

jq -c '{acres: (.lotsize/43560), soldOn: (.dateSold | strftime("%A %B %d, %Y")) }'

产生:

{"acres":1.5,"soldOn":"Friday April 11, 2008"}

最新版本的 jq 支持环境变量 TZ,因此您可能需要查看 strflocaltime