首页 > 解决方案 > 使用 jq 从 JSON 文件中提取信息并将信息设置在变量中

问题描述

我想从名为 blablabla.json 的 JSON 文件中提取信息,如下所示:

{
  “令牌”:{
   “issued_at”:“2018-11-04T23:35:07Z”,
   "expires_at": "2018-11-05T00:35:07Z",
   “用户”:{
    “id”:“ide”,
    “名称”:“ide”
   }
  }
}

我想获取“expires_at”日期以将其与当前日期进行比较。为此,我使用这个:

type blablabla.json|jq .token".expires_at"

它有效,但我不知道如何将其设置为变量。我尝试类似:

SET date=type blablabla.json|jq .token".expires_at"

但它什么也没做。你有想法吗?

非常感谢你。

标签: jsonbatch-file

解决方案


通常,您会使用For /F循环:

@Echo Off
For /F "Delims=" %%A In ('type blablabla.json^|jq .token".expires_at"'
) Do Set "Expiry=%%~A"

可以使用变量访问结果的位置,%Expiry%. (您不会将变量设置为重要的现有系统变量的名称)

至于根据当前日期检查它,您需要找到一种方法来执行此操作,因为两个日期都是字符串,而不是日期对象。这超出了这个问题的范围


推荐阅读