页面载入中,请稍后...

点我安装PWA
您已拒绝通知
    广告广告

    【jq: error (at <stdin>:1): Cannot index string with string "text"】

    qaq卟言2023-07-25 04:06:26 LinuxBash
    小人奔跑效果开始
    • 起因是上一篇文章写了一个哔哩哔哩自动签到的脚本,之前只是做了一个检测cookie文件是不是超过30天的文件
    • 但是我忘记了在上一篇文章实现哔哩哔哩自动签到说过的不能重复登入登出
    • 不然cookie会变化,所以我目前的想法是先判断cookie文件是不是超过30天的文件再进行签到请求
    • 进行签到成功后获取datatext中的礼物信息,签到失败就获取message的信息,推送信息到我的QQ
    • 因为之前服务器上面我是有用过jq,来获取我自己的接口信息的,于是就准备用jq来解析json
    • 不过太久没有写过jq了,都快忘记了
    • 就仿造我之前的接口写一个
    • jq: error (at <stdin>:1): Cannot index string with string "text"1.png
    • 然后就遇到了这个问题
    • jq: error (at <stdin>:1): Cannot index string with string "text"
    • jq: error (at <stdin>:1): Cannot index string with string "text"2.png
    • 默认是先判断sign有没有值,如果没有就是签到失败,再获取message的信息,推送信息到我的QQ
    • 看一下我这边定义的解析
    • '.data[]?.text'
    • jq: error (at <stdin>:1): Cannot index string with string "text"3.png
    • 哔哩哔哩的接口信息
    • {
        "code":0,
        "message":"0",
        "ttl":1,
        "data":{
          "text":"3000点用户经验,2根辣条",
          "specialText":"",
          "allDays":31,
          "hadSignDays":9,
          "isBonusDay":0
        }
      }
    • 其实用data[]也是可以的,并且后面设置了text的信息
    • 但是实际在使用时,因为内层data列表数据太大,所以是无法看到上面的text数据
    • 用只用一层data[]来获取接口信息,但是里面的数据并没有用[]来定义
    • 是整个json数据,结果自然不对
    • 修改代码
    • 其实使用二次定义数值位置就行
    • .data.text
    • jq: error (at <stdin>:1): Cannot index string with string "text"4.png
    • 运行测试
    • jq: error (at <stdin>:1): Cannot index string with string "text"5.png
    • 发现可以获取到text中的信息了
    • 如果想要返回的数据中不带有双引号,则带上参数-r即可
    • jq: error (at <stdin>:1): Cannot index string with string "text"6.png
    • 它可以把数据作为字符串对待
    • jq: error (at <stdin>:1): Cannot index string with string "text"7.png
    完结

    🔖本文来源:qaq卟言的个人博客网站声明如损害你的权益请联系我们

    ©️版权声明:本文为【qaq卟言】原创文章,写作不易,转载请您添加本文链接,谢谢您的合作!

    📜著作协议:《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    ⚠️部分文章图片来自网络,可能存在版权问题。如发现相关争议请联系qaq卟言处理!

    🔗

    广告广告

    随机文章

    该文章已经关闭评论,评论请前往留言信箱