【问题标题】:I am extracting data from a Json in SQL and the data comes in lists, how do I get it from there?我正在从 SQL 中的 Json 中提取数据并且数据来自列表,我如何从那里获取它?
【发布时间】:2021-07-13 05:22:30
【问题描述】:

感谢阅读! 我正在使用 SQL 中的运算符从 Json 中提取数据,代码如下:

select lc.name as company,
       lr.name as retailer,
       ls.name as tienda,
       sm.created_on as date,
       sm.task_id as task_id,
       ss.submission_data::json-> '¿Qué ''bancos'' se encuentran cerca de la tienda? De ser necesario, pregunta al gerente de tienda' AS banco,
       ss.submission_data::json->> 'Indica la distancia aproximada entre la tienda y el ''banco'' más cercano' AS banco_distancia,
       ss.submission_data::json->> '¿En la zona hay disponibilidad de ''transporte público''? Indica los tipos de transporte' AS transporte,
       ss.submission_data::json->> 'Indica el precio estimado de un viaje en ''transporte público''' AS transporte_precio,
       ss.submission_data::json->> '¿En la zona hay servicio de ''aplicaciones de envíos''?' AS app_envio
from submission_submissionmetadata sm
  left join submission_submission ss on sm.submission_id = ss.id
  left join location_store ls on ls.id = sm.store_id
  left join location_retailer lr on lr.id = ls.retailer_id
  left join location_company lc on lc.id = lr.company_id
where sm.brand_id = 293 
order by date desc

在结果中,我得到的列 bank、transport 和 app_ship 以列表类型的形式出现,我尝试使用函数将其展平,但没有成功。你知道我能做什么吗?

【问题讨论】:

  • 你为什么不想要数组?你想要数组的特定元素吗?
  • 你能粘贴一个json对象的例子吗?
  • @devintark 我想要数组中的所有字符串
  • 这是 json 对象:{ "¿Qué 'bancos' se encuentran cerca de la tienda? De ser necesario, pregunta al gerente de tienda":[ "HSBC", "Santander" ] }

标签: sql json postgresql extract json-extract


【解决方案1】:

https://www.postgresql.org/docs/current/functions-json.html

等待您对上述评论的回复,但您可以在上述文档中看到提取 json 的所有方法。例如,如果你只想要 app_envio 数组的第一个元素,它会是:

ss.submission_data::json #>>  '{'¿En la zona hay servicio de ''aplicaciones de envíos''?',0}' AS app_envio

【讨论】:

  • 谢谢@devintark!!如果我想要所有这些??
  • 您是否将数据读入某种类型的内存对象? (比如在 python 或 java 中?)
  • 我不确定是否理解您的问题,但我在 Looker 中运行此查询,但数据源是数据库。我只使用 Sql 语言·
  • 所以我猜那阵列有什么问题?你想查看数组中的所有项目吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 2021-11-30
  • 2021-10-01
相关资源
最近更新 更多