json - jq 替换 json 中的部分值

标签 json sed edit jq iso8601

我需要从 json 输出中替换部分值,我可以使用 sed -i 轻松做到这一点,但是它也会替换我不想要的文件的其他部分,除非我遗漏了一些东西。输出是{ "LastModified": "2018-03-07T17:24:33.000Z", "Key": "pending/archive/f7ab1684-e94d-483e-ace1-560367c1196c_1000_s.json" }
我需要将 LastModified 值上的破折号“-”替换为斜杠,然后删除一些东西,例如“T”和“.000Z”,这样我最终可以将该时间戳转换为纪元。

我尝试使用
猫名单| jq -r '.[] |选择 (.LastModified == "-") .LastModified = "/"'
和 |= 运算符,但我无法在网络上的其他任何地方找到已完成的操作。

最佳答案

jq sub()fromdate()职能:

jq '.LastModified |= (sub("\\.000Z";"Z") | fromdate)' input.json

输出:
{
  "LastModified": 1520443473,
  "Key": "pending/archive/f7ab1684-e94d-483e-ace1-560367c1196c_1000_s.json"
}

关于json - jq 替换 json 中的部分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181898/

相关文章:

ios - 如何将自定义操作添加到 iOS 中的文本选择编辑菜单?

java - 使用 JSONPath 迭代大型 JSON 数组

regex - 从特定字段中删除引号 - 引号之间的整数

bash - 您可以使用 sed 将日期转换为 yyyy/mm/dd 吗?

bash - sed 在单个命令中交换单词

python - 我如何在 python 中使用 cssutils 编辑规则

javascript - 将 JSON 转换为 Javascript 中的 map 列表

java - 是否可以在 Objective c 上导入 Java 模型?

ios - Swift 导入大型 JSON 数据集和核心数据

jQuery - 将输入值更改为复选框并选中