在 django 的 postgres db 中将 json 保存为数组
Posted
技术标签:
【中文标题】在 django 的 postgres db 中将 json 保存为数组【英文标题】:save json as array in postgres db in django 【发布时间】:2021-02-23 04:56:08 【问题描述】:我遇到了无法处理的问题。我有一个 JSON 文件,其中包含一些酒店数据,例如房间、名称、城市等。其中一些字段包含多个数据,并用“|”分隔,如下所示:
"image_urls": "//imghtlak.mmtcdn.com/images/hotels/201512081111224987/exterior.jpg|//imghtlak.mmtcdn.com/images/hotels/201512081111224987/room.jpg|//imghtlak.mmtcdn.com/images/hotels/201512081111224987/download.jpg",
或者喜欢这个:
"highlight_value": "1 lift|24 hour business centre|24 hour coffee shop|24 hour reception|24 hour room service|24 hour security|24 hours front desk|24-hour business center|24-Hour Front Desk|24-hr Coffee Shop|24/7 Power|Activities desk|Activity centre|Airport Transfer Available With Charges Rs.200/- Per Trip|Arrangements Of Kitty Parties & Birthday Party|Auditorium|Ballroom|Banqueting|Bar|Board Room|Boardroom|Breakfast buffet|Children's Playground|Doctor on Call|Dry Cleaning|Dry Cleaning Service|Dry cleaning/laundry service|Free garage parking|Free Parking|Free Wi-Fi|Free Wi-Fi Icon|Handicap Facilities|Hot tub|In-room safe (some rooms)|Laundry Service|Newspaper|Non-smoking rooms|Room Service|Room service (24 hours)|Room Service (24 Hours)(after 11:00pm.round The Clock Menu)|Room Service 24 Hrs|Room Service 6 Am - 12 Night|Room Service 7 Am To 9 Pm|Room Service 7am-11:30pm|Room Service, 24 Hour Reception|Room Service, 24 Hour Reception And Laundry Service|Room Services 7 Am To 9 Pm|Wake up call|Wheelchair access"
我想将它们分开保存在 postgres db 中作为数组,我有 django 项目,我的前端同事告诉我它应该是数组,他可以使用它们并显示它们,我是数据库中的新手,我不知道如何做到这一点我的意思是如何将它们排列在一个字段中,以便他可以使用它们并对其进行排序。 抱歉英语不好 顺便说一下,这是 JSON 文件: This is full JSON file
【问题讨论】:
str.split
应该会有所帮助。
【参考方案1】:
据我了解,您可以使用以下内容:
my_values = [
"highlight_value": "1 lift|24 hour business centre|24 hour coffee shop"
]
new_items = []
for my_value in my_values:
for values in my_value.values():
if '|' in values:
tokens = values.split('|')
# REST OF CODE
或者,像这样:
elements = [
values.split('|')
for my_value in my_values
for values in my_value.values() if '|' in values
]
【讨论】:
以上是关于在 django 的 postgres db 中将 json 保存为数组的主要内容,如果未能解决你的问题,请参考以下文章
Django 和 postgres - 在模型字段中将数据存储为 json 的缺点
django中所有URL的编程错误,postgres在db中找不到表?
Django ORM 在 Postgres DB 上留下空闲连接
尝试使用 django 从 postgres DB 中按顺序获取下一个值