如何从 MySQL 中的数字键嵌套 JSON 字段中提取值
How to extract values from a numeric-keyed nested JSON field in MySQL
我有一个 MySQL table 和一个名为 sent
的 JSON 列。该列中的条目包含如下信息:
{
"data": {
"12":"1920293"
}
}
我正在尝试使用 mysql 查询:
select sent->"$.data.12" from mytable
但我得到一个例外:
Invalid JSON path expression. The error is around character position 9.
知道如何提取信息吗?该查询适用于非数字子字段。
@易卜拉欣,
您的代码有错误。如果您在 MySQL 中的 JSON 数据类型中使用数字(或空格词)作为键,则需要 double-quote 它。
因此,在您的案例中正确的 MySQL 陈述是:
select sent->'$.data."12"' FROM mytable;
谢谢,
@JeffreyKilelo
我有一个 MySQL table 和一个名为 sent
的 JSON 列。该列中的条目包含如下信息:
{
"data": {
"12":"1920293"
}
}
我正在尝试使用 mysql 查询:
select sent->"$.data.12" from mytable
但我得到一个例外:
Invalid JSON path expression. The error is around character position 9.
知道如何提取信息吗?该查询适用于非数字子字段。
@易卜拉欣, 您的代码有错误。如果您在 MySQL 中的 JSON 数据类型中使用数字(或空格词)作为键,则需要 double-quote 它。
因此,在您的案例中正确的 MySQL 陈述是:
select sent->'$.data."12"' FROM mytable;
谢谢, @JeffreyKilelo