jq和数学函数

时间:2018-11-26 01:06:03

标签: json timezone jq

我正在从房地产数据库中检索JSON。 jq使提取单独的属性/值变得容易,但是其中一些值以不方便的单位显示。例如,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无需任何进一步处理就可以这样做。有任何想法吗?谢谢。

1 个答案:

答案 0 :(得分:2)

您的输入,

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

产生:

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

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