jq:嵌套json中的总费用

时间:2018-12-14 14:16:23

标签: json jq

我有以下json:

----------- A=
res 0=1  res 1=3  res 2=5  res 3=7  res 4=9  res 5=11  res 6=13  res 7=15
res 8=17  res 9=19  res 10=21  res 11=23  res 12=25  res 13=27  res 14=29  res 15=31
res 16=33  res 17=35  res 18=37  res 19=39  res 20=41  res 21=43  res 22=45  res 23=47
res 24=49  res 25=51  res 26=53  res 27=55  res 28=57  res 29=59  res 30=61  res 31=63
res 32=65  res 33=67  res 34=69  res 35=71  res 36=73  res 37=75  res 38=77  res 39=79
res 40=81  res 41=83  res 42=85  res 43=87  res 44=89  res 45=91  res 46=93  res 47=95
res 48=97  res 49=99  res 50=101  res 51=103  res 52=105  res 53=107  res 54=109  res 55=111
res 56=113  res 57=115  res 58=117  res 59=119  res 60=121  res 61=123  res 62=125  res 63=127
----------- B=
res 0=1  res 1=2  res 2=3  res 3=4  res 4=5  res 5=6  res 6=7  res 7=8
res 8=9  res 9=10  res 10=11  res 11=12  res 12=13  res 13=14  res 14=15  res 15=16
res 16=17  res 17=18  res 18=19  res 19=20  res 20=21  res 21=22  res 22=23  res 23=24
res 24=25  res 25=26  res 26=27  res 27=28  res 28=29  res 29=30  res 30=31  res 31=32
res 32=33  res 33=34  res 34=35  res 35=36  res 36=37  res 37=38  res 38=39  res 39=40
res 40=41  res 41=42  res 42=43  res 43=44  res 44=45  res 45=46  res 46=47  res 47=48
res 48=49  res 49=50  res 50=51  res 51=52  res 52=53  res 53=54  res 54=55  res 55=56
res 56=57  res 57=58  res 58=59  res 59=60  res 60=61  res 61=62  res 62=63  res 63=64
CUDA error at F:/CPPProject/CudaLatticeGauge/CudaLatticeGauge/Code/CudaLibTest/CudaHelper.cu:183 code=77(cudaErrorIllegalAddress) "cudaMemcpy(res, pA2->m_pDevicePtr, sizeof(int) * 64, cudaMemcpyDeviceToHost)"

我在其上运行以下命令:

 [
  {
  "account": "1",
  "cost": [
      {
         "usage":"low",
         "totalcost": "2.01"
      }
   ]
  },
  {
  "account": "2",
  "cost": [
      {
         "usage":"low",
         "totalcost": "2.25"
      }
   ]
  },
  {
  "account": "1",
  "cost": [
      {
         "usage":"low",
         "totalcost": "15"
      }
   ]
  },
  {
  "anotheraccount": "a",
  "cost": [
      {
         "usage":"low",
         "totalcost": "2"
      }
   ]
  }
]

这给了我:

jq '.[] | {account,cost : .cost[].totalcost}' 

然后我尝试通过管道汇总值,但得到错误的结果:

  {
  "account": "1",
  "cost": "2.01"
   }
  {
  "account": “2”,
  "cost": “2.25”
   }
   {
  "account": “1”,
  "cost": “15”
   }

获取:

jq '.[] | {account,cost : .cost[].totalcost}'  | jq -n 'reduce (inputs | to_entries[]) as {$key,$value} ({}; .[$key] += $value)'

但是我正在尝试实现以下输出:

{
    “account”: “121”
    “cost”: 19.26
}

我是jq的新手。 jq不必在此使用,无论如何,我可以汇总这些值将对我有用。

0 个答案:

没有答案