首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python对象和JSON

Python对象和JSON
EN

Stack Overflow用户
提问于 2016-12-05 08:56:00
回答 6查看 128关注 0票数 0

我有一个python对象,我将其转储到json并写入一个文件。

代码语言:javascript
复制
results = [
{'destination': (x,y), 'id': 'dsss', 'origin': (x,r), 'waypoints': [[s,l],[d,s]]},
{'destination': (x1, y1), 'id': 'ddsdsee', 'origin': (z,f), 'waypoints': [[e,y],[d,e]]}]

with gzip.open("test.json.gz",'w') as outfile:
    json.dump(results,outfile,indent=2)

然后,我在其他地方打开该文件,通过:

代码语言:javascript
复制
schedule_f = gzip.open("test.json.gz")
schedule = json.load(schedule_f)

pprint(schedule[0])返回:

代码语言:javascript
复制
{'destination': [x,y], 'id': 'dsss', 'origin': [x,r], 'waypoints': [[s,l],[d,s]]

为什么origindestination字段转换为列表?我清楚地指定了(而不是[

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-12-05 08:58:26

JSON没有任何元组的概念:只有数组,它可以映射到Python列表。

从实践的角度来看,这是没有区别的,但是如果你认为你真的需要元组,你必须自己去转换它们。

票数 1
EN

Stack Overflow用户

发布于 2016-12-05 08:58:08

嵌套Python对象可能比允许以JSON格式存储的复杂。JSON格式只有一个容器,当您将它导入Python时,它被解析为list。

这种格式转换不是保守的,它们破坏了信息。您也将无法存储datetime,它将被转换为字符串。

票数 1
EN

Stack Overflow用户

发布于 2016-12-05 08:58:18

JSON不支持元组,因此json模块将它们转换为由JSON支持的数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40970408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档