簡體   English   中英

MYSQL - 如何從嵌套的 json 中提取值?

[英]MYSQL - How to extract value from nested json?

我有一個“信息”列,用於存儲嵌套的 json 字符串,如下所示:

{"Text":"5","Elements":{"New\\Old\\Used\\Sold\\Blank":{"123456":{"id":"056"}}}}

我需要從這個 json 字符串中提取 id 值。 我嘗試在我的 select 語句中使用 JSON_EXTRACT function,如下所示:

trim(both'"' FROM JSON_EXTRACT(info, '$.Elements[0][0][0][0]')) AS id,

我試過:

trim(both'"' FROM JSON_EXTRACT(info, '$.[1][0][0][0][0]')) AS id,

但我在列中得到 null 個值。

我嘗試使用其他幾種組合,其中我更改了方括號內的數字以適應元素 position,但我總是得到 null 值。

關於如何從這個 json 中提取 ID 有什么建議嗎?

Elements不是數組,您不能使用數組索引從中提取。

info->>"$.Elements.New\\Old\\Used\\Sold\\Blank\\.123456.id"

不要使用trim()刪除周圍的引號,使用JSON_UNQUOTE(JSON_EXTRACT(...))->>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM