我正在尝试将一些json数据映射到不同的模式。我的原始模式和相关字段如下所示
"metrics":[
{
"type":"active_duration",
"unit":"s",
"value":135.0
},
{
"type":"basal_energy_burned",
"unit":"kcal",
"value":2371.7412956
},
{
"type":"distance",
"unit":"m",
"value":1510.36558533
},
{
"type":"active_energy_burned",
"unit":"kcal",
"value":295.203469907
},
{
"type":"steps",
"unit":"count",
"value":1877
},
{
"type":"energy_burned",
"unit":"kcal",
"value":2666.944765507
}
],
和期望输出
{
"valueQuantity" : { "unit" : "count", "value" : 1877} ,
"category" : "steps"
},
{
"valueQuantity" : { "unit" : "kcal", "value" : 2666.944765507} ,
"category" : "energy_burned"
}
....
我试过这个
import pyjq
t = pyjq.all("""
{
"valueQuantity" : .metrics[] | { "unit" : .unit, "value" : .value} ,
"category" : .metrics[].type
}""", data)
但问题是.metrics[]运行不止一行,我最终有36行(而不是6行) 有没有办法做到这一点
你大概是说:
可缩短为:
相关问题 更多 >
编程相关推荐