• JQ解析JSON显示多字段使用内部函数时遇到的有趣问题


    想得到 "小张 20200812-142501" 结果,就要使用内部函数 strflocaltime
    test.json
    {
        "LiveInfo": {
            "nick": "小张",
            "startTime": 1597213501
        }
    }
    
    方法1:
    cat test.json|jq -M ".LiveInfo|(.nick + " " + (.startTime|strflocaltime("%%Y%%m%%d-%%H%%M%%S")|tostring) )"
    
    显示:"小张 20200812-142501"
        nick值为中文时 JQ 加 -r 参数出错 jq: error: writing output failed: Invalid argument
        nick值为英文时 JQ 加 -r 正常输出
    
    方法2:
    cat test.json|jq -M ".LiveInfo|"(.nick)_(.startTime)""
    显示:"小张_1597213501"
    
    cat test.json|jq -M ".LiveInfo|"(.nick)_(.startTime|strflocaltime("%%Y%%m%%d-%%H%%M%%S"))""
        'strflocaltime' is not recognized as an internal or external command
    
    结论:如果想使用JQ的内部函数请使用方法1
  • 相关阅读:
    Abstract与Virtual
    List 常用方法
    控制数据采样分布 计算概念
    中期答辩感想
    软件开发之团队理解
    详细设计理解
    竞赛系统需求分析
    软件代码规范之理解
    AngularJS 整理资料
    AngularJS合集
  • 原文地址:https://www.cnblogs.com/nlsoft/p/13491615.html
Copyright © 2020-2023  润新知