jq没有得到预期的输出

闪烁的星星

我的JSON看起来像这样。

"[{
   changes": [
    {
      "change": "{users=[7], submitted=true}",
      "date": "2016-11-13T14:34:27.353Z",
      "user": "abcd"
    }
   ]
}]

预期产量:

{
      id: null,
      date: "2016-11-13T14:34:27.353Z",
      type: "submission",
      user: abcd,
      _processDate: todaysDate
    }

我尝试过的JQ

[.[][] as $source |
$source.changes[] as $log |
$log.change |
{
  submitted: .| (scan("submitted=(?<submitted>[^,}]+)") // [""] ) | .[0],
  rejected: .| (scan("rejected=(?<rejected>[^,}]+)") // [""] ) | .[0]

} as $change |
[
  (
    select($change.submitted == "true") |
    {
      id: $source.id,
      date: $log.date,
      type: "submission",
      user: $log.user,
      _processDate: now | todate
    }),
    (select($change.rejected == "true") |
    {
      id: $source.id,
      date: $log.date,
      type: "rejection",
      user: $log.user,
      _processDate: now | todate
    }
  )
] |
.[]]

json中可能存在“拒绝”,并且输出应显示拒绝。我的JQ没有产生预期的输出。有关如何解决此查询的所有指针。感谢您的帮助。欣赏它。

杰夫·梅卡多(Jeff Mercado)

我会采用完全不同的方法,而是这样做。

(now | todate) as $_processDate | [
    .[].changes[]
    | (.change
        | scan("\\b(submitted|rejected)=true\\b")[]
        | {submitted:"submission",rejected:"rejection"}[.]) as $type
    | {id, date, $type, user, $_processDate}
]

首先请记下当前日期。然后确定更改的类型。假设“已提交”和“已拒绝”(或其他“类型”)是互斥的,则更容易在键名上进行匹配。然后建立结果。这会将结果保存在数组中。

https://jqplay.org/s/S65ySzbF30

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GridBagLayout没有得到预期的结果

来自分类Dev

setMinutes没有得到预期的结果

来自分类Dev

$GLOBALS 没有得到预期的数据

来自分类Dev

while 循环有问题并且没有得到预期的输出?

来自分类Dev

dmesg后没有得到输出

来自分类Dev

Java没有得到输出Piglatin

来自分类Dev

强制关闭但没有得到输出

来自分类Dev

dmesg后没有得到输出

来自分类Dev

没有得到所需的输出

来自分类Dev

没有得到任何输出

来自分类Dev

我没有得到正确的输出

来自分类Dev

C++ - 没有得到预期的输出到控制台

来自分类Dev

在我们抓取 R 时没有得到预期的输出

来自分类Dev

没有得到来自Guzzle的预期响应

来自分类Dev

Parallel.ForEach() 没有得到预期的结果

来自分类Dev

QPolygon containsPoints 没有得到预期的结果

来自分类Dev

没有得到预期的结果 os.system

来自分类Dev

使用 .each() 函数时没有得到预期的结果

来自分类Dev

没有得到预期的 PHP cURL 响应

来自分类Dev

为什么我没有得到NSString的输出

来自分类Dev

查询的正确结构。没有得到日志输出

来自分类Dev

jspdf中没有得到期望的输出

来自分类Dev

C ++:我没有得到正确的输出(菜鸟问题)

来自分类Dev

为什么我没有得到想要的输出?

来自分类Dev

没有得到像我这样的输出

来自分类Dev

没有得到我的代码的输出

来自分类Dev

为什么我没有得到任何输出?

来自分类Dev

为什么我没有得到任何输出

来自分类Dev

为什么我没有得到正确的乘法输出?