主页 > 知识库 > mysql(5.6及以下)解析json的方法实例详解

mysql(5.6及以下)解析json的方法实例详解

热门标签:400电话可以免费申请吗 福建外呼系统定制化 铜陵防封电销卡 腾讯地图标注提升 怎么在地图标注位置生成图片 真人语音电话机器人 电销卡外呼系统供应商 美国反骚扰电话机器人 悟空科技电话机器人

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;

自测

CREATE TABLE `json_test` (
 `id` int(11) DEFAULT NULL,
 `person_desc` text COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
insert INTO json_test values(2,'{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}');
SELECT id,json_extract_c(person_desc,'$.lastName') as "keys" FROM json_test;

 改进,再找不到key,返回''值,之前的是在找不到的情况下,查找到第一的值。

CREATE DEFINER=`zhangfen`@`%` 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(
        CONCAT('"":"",',details),
        CONCAT(
          '"',
          SUBSTRING_INDEX(required_field,'$.', -1),
          '":'
        ),
        -1
      ),
      ',"',
      1
    ),
    ':',
    -1
  )
) ;
END

总结

以上所述是小编给大家介绍的mysql(5.6及以下)解析json的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:
  • MySQL5.7中的JSON基本操作指南
  • MySQL5.7 JSON类型使用详解
  • Mysql5.7中JSON操作函数使用说明
  • 简单谈谈MySQL5.7 JSON格式检索
  • mysql5.6及以下版本如何查询数据库里的json
  • 详解Mysql中的JSON系列操作函数
  • MySQL操作之JSON数据类型操作详解
  • MySQL插入json问题
  • mysql5.7 新增的json字段类型用法实例分析

标签:云浮 乌海 白银 聊城 湖南 武威 湖北 临汾

巨人网络通讯声明:本文标题《mysql(5.6及以下)解析json的方法实例详解》,本文关键词  mysql,5.6,及,以下,解析,json,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《mysql(5.6及以下)解析json的方法实例详解》相关的同类信息!
  • 本页收集关于mysql(5.6及以下)解析json的方法实例详解的相关信息资讯供网民参考!
  • 推荐文章