mysql(5.6及以下)解析json

#json解析函数       
DELIMITER $$

DROP FUNCTION IF EXISTS `json_extract_c`$$

CREATE FUNCTION `json_extract_c`(
details TEXT,
required_field VARCHAR (255)
) RETURNS TEXT CHARSET latin1
BEGIN
SET details = SUBSTRING_INDEX(details, "{", -1);
SET details = SUBSTRING_INDEX(details, "}", 1);
RETURN TRIM(
    BOTH '"' FROM SUBSTRING_INDEX(
        SUBSTRING_INDEX(
            SUBSTRING_INDEX(
                details,
                CONCAT(
                    '"',
                    SUBSTRING_INDEX(required_field,'$.', -1),
                    '":'
                ),
                -1
            ),
            ',"',
            1
        ),
        ':',
        -1
    )
) ;
END$$
DELIMITER ;

example:
select json_extract_c(json, "$.totalDays"), json from item limit 100;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,553评论 0 13
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,499评论 0 10
  • 远方的光亮照亮民族的希望, 远方的战士托起人民的愿望。 原先的布衣农民,期盼有天吃到白面馒头。 ...
    Jason_96f9阅读 619评论 0 2
  • 第三十一届大连国际马拉松赛,我的第一个马拉松(半马),开始想报全马考虑到第一次参加,考虑到体重大怕膝盖受不了,决定...
    天平座的小庆阅读 634评论 2 1
  • 这是MrKevin365天写作计划中第6天的写作内容。 明天就是大年30了,按照中国人的传统,明天意味着春节的开始...
    MrKevin阅读 166评论 0 0