JSON在我的python程序中是如何工作的?

JSON在我的python程序中是如何工作的?,python,json,dictionary,Python,Json,Dictionary,因此,我在python程序中使用Java调试器JSON,因为几个月前,我被告知这是打开文本文件并将其放入词典以及将词典保存到文本文件的最佳方式。然而,我不确定它是如何工作的 以下是我如何在我的程序中使用它: with open ("totals.txt", 'r') as f30: totaldict = json.load(f30) 及 我需要解释一下它在我的项目中是如何工作的,那么有人能为我解释一下json在将文本文件加载到字典格式以及将内容转储到文本文件中时是如何工作的吗? 谢谢

因此,我在python程序中使用Java调试器JSON,因为几个月前,我被告知这是打开文本文件并将其放入词典以及将词典保存到文本文件的最佳方式。然而,我不确定它是如何工作的

以下是我如何在我的程序中使用它:

with open ("totals.txt", 'r') as f30:
    totaldict = json.load(f30)

我需要解释一下它在我的项目中是如何工作的,那么有人能为我解释一下json在将文本文件加载到字典格式以及将内容转储到文本文件中时是如何工作的吗? 谢谢

编辑:请不要只是发布到其他文章的链接,因为我已经试着看了这些文章,他们并没有给我提供太多帮助,因为他们不在我使用JSON作为字典的上下文中,而且我只是一个初学者,所以有点难以理解。

试试这个:

json模块提供了一个类似于pickle的API,用于将内存中的Python对象转换为称为JavaScript对象符号json的序列化表示。与pickle不同,JSON有许多语言(特别是JavaScript)实现的优点

对简单数据类型进行编码和解码

编码器通过默认字符串、unicode、int、float、list、tuple和dict来理解Python的本机类型

import json

data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]
print 'DATA:', repr(data)

data_string = json.dumps(data)
print 'JSON:', data_string
Values are encoded in a manner very similar to Python’s repr() output.

$ python json_simple_types.py

DATA: [{'a': 'A', 'c': 3.0, 'b': (2, 4)}]
JSON: [{"a": "A", "c": 3.0, "b": [2, 4]}]
编码,然后重新解码可能不会给出完全相同类型的对象

import json

data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]
data_string = json.dumps(data)
print 'ENCODED:', data_string

decoded = json.loads(data_string)
print 'DECODED:', decoded

print 'ORIGINAL:', type(data[0]['b'])
print 'DECODED :', type(decoded[0]['b'])
In particular, strings are converted to unicode and tuples become lists.

$ python json_simple_types_decode.py

ENCODED: [{"a": "A", "c": 3.0, "b": [2, 4]}]
DECODED: [{u'a': u'A', u'c': 3.0, u'b': [2, 4]}]
ORIGINAL: <type 'tuple'>
DECODED : <type 'list'>
JSON是Java的脚本对象旋转。它在Python中的工作方式与在其他任何地方一样,为您提供了将任意事物描述为对象的语法

大多数JSON主要由JavaScript数组组成,如下所示:

[1, 2, 3, 4, 5]
{"key1": "value1", "key2": "value2"}
或描述对象的键值对列表,如下所示:

[1, 2, 3, 4, 5]
{"key1": "value1", "key2": "value2"}
它们也可以在任意方向嵌套:

[{"object1": "data1"}, {"object2": "data2"}]
{"object1": ["list", "of", "data"]}
当然,Python可以很容易地将这些类型视为列表和dict,这正是json模块试图做的

>>> import json
>>> json.loads('[{"object1": "data1"}, {"object2": "data2"}]')
[{'object1': 'data1'}, {'object2': 'data2'}]
>>> json.dumps(_)
'[{"object1": "data1"}, {"object2": "data2"}]'

请不要只回答链接而没有上下文。如果链接消失了怎么办?这个答案以后会对人们有什么帮助?此外,作者已经知道并使用了json模块。啊,来吧。说真的,有没有听说过要付出一些努力?我相信,要指出正确的方向,而不是复制包含。如果有人已经解释了它,我相信它是完美的解释,那么为什么要复制呢?我并不是说这是我的答案,我只是把用户指向正确的页面。我不明白这个问题。你是说它是如何工作的?它工作得很好。如果您对实现感兴趣,只需获取源代码并了解自己。比如它是做什么的-我知道它工作得很好,但它到底是如何进行的?您了解字典是如何工作的吗?@user3112327如果您不了解它是什么,为什么您甚至决定使用JSON?python与这个问题有什么关系?你至少可以从检查维基百科的JSON开始。