小编Tim*_*moC的帖子

JQ:将 UNIX 时间戳转换为日期时间

我实际上JQ1.5在一个Windows 10环境下使用转换几个json文件以导入到MS SQL数据库中。部分数据已格式化UNIX timestamp,我需要将这些数据转换为 ISO 8601 格式。

以下命令我实际用于数据转换:

jq '
[
  { nid, title, nights, zone: .zones[0].title} + 
  (.sails[] | { sails_nid: .nid, arrival, departure } ) + 
  (.sails[].cabins[] | 
    { cabintype: .cabinType.kindName, 
      cabinid:   .cabinType.nid,  
      catalogPrice, 
      discountPrice, 
      discountPercentage, 
      currency 
    }
  )
]
' C:\Import\dreamlines_details.json > C:\Import\import_sails.json
Run Code Online (Sandbox Code Playgroud)

到达和离开是 Unix 时间格式的数据。

数据:

[
  {
    "nid": 434508,
    "title": "Die schönsten Orte unserer Welt",
    "nights": 121,
    "zone": "Weltreise",
    "sails_nid": 434516,
    "arrival": 1525644000,
    "departure": 1515193200,
    "cabintype": "Innenkabine", …
Run Code Online (Sandbox Code Playgroud)

iso8601 jq

8
推荐指数
1
解决办法
4457
查看次数

提取json数组/对象的第一个和最后一个值

我在windows 10环境中使用jq 1.5.我通过api收到几个信息,包括不同的城市阵列:

  {

  "cruises": [
    {

      "waypoint_cities": [
        "Palma de Mallorca",
        "Cádiz",
        "Puerto del Rosario, Fuerteventura",
        "Arrecife, Lanzarote",
        "Arrecife, Lanzarote",
        "Agadir",
        "Gibraltar",
        "Barcelona",
        "Palma de Mallorca"
      ]}]}
Run Code Online (Sandbox Code Playgroud)

如何使用jq找到这些数组的第一个和最后一个条目?我试过了函数min/maxby,但是这个函数只传递了字母表中第一个和最后一个的字母.

对蒂莫说

json jq

5
推荐指数
2
解决办法
7421
查看次数

JQ:Bigint 数字精度

我实际上遇到了一种情况,我遇到了 BIGINT 问题以及 jq 1.5/1.6 中的模糊性(在 Windows 环境中)。我阅读了问题报告,并认为如果我将数字转换为字符串,我可以处理它。但我用特定命令测试它,结果是一样的

[. | { last_update: .starbase_detailed_scan.last_update_time, user_name: .starbase_detailed_scan.owner_name, alliance_id: .starbase_detailed_scan.owner_alliance_id | tostring, drydocks: .starbase_detailed_scan.num_drydocks, tier: .starbase_detailed_scan.owner_level, defence_plattform: .starbase_detailed_scan.num_defence_platforms, shield_triggered: .starbase_detailed_scan.player_shield.triggered_on, shield_end: .starbase_detailed_scan.player_shield.expiry_time, parsteel: .starbase_detailed_scan.resources["2325683920"], tritanium: .starbase_detailed_scan.resources["743985951"], dilithium: .starbase_detailed_scan.resources["2614028847"], user_id: .starbase_detailed_scan.owner_user_id, defence_rating: .starbase_detailed_scan.defense_rating }]
Run Code Online (Sandbox Code Playgroud)

结果:

[{"last_update":"2018-12-23T19:26:24","user_name":"Hamita40","alliance_id":"774615702811599900","drydocks":3,"tier":19,"defence_plattform":3,"shield_triggered":"0001-01-01T00:00:00","shield_end":"0001-01-01T00:00:00","parsteel":183649,"tritanium":22459,"dilithium":7074,"user_id":"a2588903decc455283c88508f6a7fedf","defence_rating":25200}]
Run Code Online (Sandbox Code Playgroud)

Alliance_id是不正确的。正确的id是:

774615702811599864
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

BR蒂莫

json jq

0
推荐指数
1
解决办法
923
查看次数

标签 统计

jq ×3

json ×2

iso8601 ×1