【问题标题】:How to parse a json object - mysql如何解析 json 对象 - mysql
【发布时间】:2020-01-04 13:16:20
【问题描述】:

我有一个这样的 json 对象:

{"1": {"penalty_percent": 3, "free_day": 5, "free_hours": 24}, "2": {"penalty_percent": 2, "free_day": 5, "free_hours": 12}, "3": {"penalty_percent": 2, "free_day": 2, "free_hours": 36}, "4": {"penalty_percent": 3, "free_day": 3, "free_hours": 48}, "5": {"penalty_percent": 5, "free_day": 2, "free_hours": 1}, "18": {"penalty_percent": 5, "free_day": 2}, "30": {"penalty_percent": 5, "free_day": 5, "free_hours": 10}}

我想从关键对象中获取free_day 值是2。 (这里是5)。

【问题讨论】:

    标签: mysql sql json


    【解决方案1】:

    使用JSON_EXTRACT

    SELECT JSON_EXTRACT(JSON_EXTRACT(json, '$."2"'), "$.free_day")
    FROM yourTable;
    

    请注意,由于您使用数字作为 JSON 键,它们需要用双引号进行转义。

    Demo

    【讨论】:

      【解决方案2】:

      使用MysqlJSON_EXTRACT,别名操作符为->

      做这样的事情:

      SELECT your_json_column->"$.\"2\".free_day"
      FROM your_table
      WHERE id = 1
      

      更多详情:reference

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-28
        • 2017-09-24
        • 2018-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-18
        相关资源
        最近更新 更多