如何使用postgresql命令从嵌套字典中提取值?

时间:2023-01-12 21:22:16

I am using postgresql to extract some data from my database.One of the query i hit returns a nested dictionary to me for a specific date i have specified. For eg:

我正在使用postgresql从我的数据库中提取一些数据。我点击的一个查询返回一个嵌套字典给我指定的特定日期。例如:

query: select user_position_details from user_detail where last_login >= '2018-03-01';

This query return the follwing result:

此查询返回以下结果:

 "{\"user_position\": {\"LOGIN_s\": \"something\", \"X_SLS_AREA_s\": \"data\"}}"
"{\"user_position\": {\"LOGIN_so\": \"login_data\", \"X_SLS_AREA_s\": \"data\"}}"

I want only the field LOGIN_s out of this nested dictionay. Is there any way i can do this using a specific query? I have searched about this but could not find anything that would help.

我只想要这个嵌套字典中的字段LOGIN_s。有什么办法可以使用特定的查询来做到这一点吗?我搜索过这个,但找不到任何有用的东西。

Any help is appreciated.Thank you.

任何帮助表示赞赏。谢谢。

1 个解决方案

#1


0  

You are getting a json string output. Use the json module to convert it to JSON and access the required value using key.

你得到一个json字符串输出。使用json模块将其转换为JSON并使用key访问所需的值。

Ex:

import json
s = ["{\"user_position\": {\"LOGIN_so\": \"something\", \"X_SLS_AREA_s\": \"data\"}}",
"{\"user_position\": {\"LOGIN_so\": \"login_data\", \"X_SLS_AREA_s\": \"data\"}}"]

for i in s:
    v = json.loads(i)
    print(v["user_position"].get(u'LOGIN_so'))

#1


0  

You are getting a json string output. Use the json module to convert it to JSON and access the required value using key.

你得到一个json字符串输出。使用json模块将其转换为JSON并使用key访问所需的值。

Ex:

import json
s = ["{\"user_position\": {\"LOGIN_so\": \"something\", \"X_SLS_AREA_s\": \"data\"}}",
"{\"user_position\": {\"LOGIN_so\": \"login_data\", \"X_SLS_AREA_s\": \"data\"}}"]

for i in s:
    v = json.loads(i)
    print(v["user_position"].get(u'LOGIN_so'))