【问题标题】:How to write SELECT query in mysql json Array data如何在 mysql json Array 数据中编写 SELECT 查询
【发布时间】:2019-06-11 06:13:14
【问题描述】:

我正在尝试从数组 json 中获取电子邮件,但它返回 null 值

[
    {
        "name": "Arun", 
        "email": "arun@arun.com"
    }, 
    {
        "name": "Arun kumar",
        "email": "arunkumar@gmail.com"
    }
]

我的 Json 查询是select json->>"$.name" as email from json

但是这个查询是返回空值

【问题讨论】:

  • select json->>"$.name" as email from json是什么语法?
  • @AlivetoDie 其 mysql json 选择查询
  • json_decode() 呢?
  • 您想获取姓名或电子邮件,即 Arun 或 arun@arun.com?
  • @ArunRanga,为了在 MySQL 中使用 JSON 类型,您的 MySQL 版本必须 >= 8.x。在这个 JSON 中搜索一些东西是非常复杂的,有时是不可能的。

标签: php mysql json database


【解决方案1】:

我测试了以下内容并为我处理了您的 json 样本

$json='[{"name": "Arun", "email": "arun@arun.com"}, {"name": "Arun kumar", "email": "arunkumar@gmail.com"}]';
$data=json_decode($json,true);

foreach ($data as $key => $value) {
    echo $value["email"] . "<br>";
}

【讨论】:

    【解决方案2】:

    这应该可行,

    JSON_EXTRACT(yourstring, '$[*].email')

    yourstring - 您在数据库中的 json 数据或字段
    $ 是用于搜索 json 对象的 json 语法 * 表示所有多维数组
    email 在 * 值中检查电子邮件

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2011-10-30
      相关资源
      最近更新 更多