mysql - 在纯 MySQL 中从 JSON 字符串获取值

标签 mysql sql json

我正在寻找一个纯MySQL单一查询。此查询的目标是利用诸如 SUBSTRING_INDEX 之类的内容。 , CONCAT ,或者任何需要的东西,以便在字符串中查找值。

假设该字符串看起来像这样: {"name":34,"otherName":55,"moreNames":12,"target":26,"hello":56,"hi":26,"asd":552,"p":3722,"bestName":11,"cc":6,"dd":10,}

我的目标是获得 target 的值,在这种情况下,26 。然而,"target":26可能并不总是位于字符串中的该位置。其他任何属性也不会。最重要的是,该值可能并不总是 26 。我需要某种方法来检查 "target": 之后的数字但在,之前之后"target": 。有什么办法可以做到这一点吗?

最佳答案

这个?

create table sandbox (id integer, jsoncolumn varchar(255));
insert into sandbox values (1,'{"name":34,"otherName":55,"moreNames":12,"target":26,"hello":56,"hi":26,"asd":552,"p":3722,"bestName":11,"cc":6,"dd":10}');

mysql root@localhost:sandbox> SELECT jsoncolumn->'$.target' from sandbox;
+--------------------------+
|   jsoncolumn->'$.target' |
|--------------------------|
|                       26 |
+--------------------------+

https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html

关于mysql - 在纯 MySQL 中从 JSON 字符串获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944299/

相关文章:

c# - 如何使用数据 GridView (Winforms、C#)更新 MySQL 表?

sql - GROUP 中不同表的 COUNT 个

c# - SQL Server 中的 CLR 程序集 C#

MySQL 选择使用组和计数连接表

c# - 基于 .Net WebApi 的类型和属性的自定义 Json 序列化

mysql - 尝试描述我的 table ,但它说不存在该 table ,但它确实存在

c# - 我无法为 mysql 应用自动增量

php - mysql按表b分组,内联表a为随机

c# - 使用 C#/LINQ 注入(inject)/合并嵌套数组

javascript - 使用 JSON 将行传送到 JavaScript