如何将JSON密钥数据保存到Python变量
有没有办法在每个变量(id1-id3、id1-id3、price1-price3…)上存储JSON密钥数据(id、名称、价格…) 这是我的示例代码如何将JSON密钥数据保存到Python变量,python,json,python-3.x,Python,Json,Python 3.x,有没有办法在每个变量(id1-id3、id1-id3、price1-price3…)上存储JSON密钥数据(id、名称、价格…) 这是我的示例代码 import json from kivy.properties import StringProperty f = open('sample.json') data = json.load(f) id1 = StringProperty(None) id2 = StringProperty(None) id3 = StringProperty
import json
from kivy.properties import StringProperty
f = open('sample.json')
data = json.load(f)
id1 = StringProperty(None)
id2 = StringProperty(None)
id3 = StringProperty(None)
name1 = StringProperty(None)
name2 = StringProperty(None)
name3 = StringProperty(None)
price1 = StringProperty(None)
price2 = StringProperty(None)
price3 = StringProperty(None)
quantity1 = StringProperty(None)
quantity2 = StringProperty(None)
quantity3 = StringProperty(None)
for i in data:
print(i)
这是JSON文件
[
{
"id": "p01",
"name": "Name 1",
"price": 1,
"quantity": 1
},
{
"id": "p02",
"name": "Name 2",
"price": 2,
"quantity": 2
},
{
"id": "p03",
"name": "Name 3",
"price": 3,
"quantity": 3
}
]
我计划使用更大的数据。但为了简单起见,我只使用3个项目作为示例您不需要将JSON的每个值存储在新变量中,您可以使用python字典 看
您可以简单地将json模块与python字典一起使用,如下所示:
# Import the module
import json
# String with JSON format
data_JSON = """
[
{
"id": "p01",
"name": "Name 1",
"price": 1,
"quantity": 1
},
{
"id": "p02",
"name": "Name 2",
"price": 2,
"quantity": 2
},
{
"id": "p03",
"name": "Name 3",
"price": 3,
"quantity": 3
}
]
"""
# Convert JSON string to dictionary
data_dict = json.loads(data_JSON)
print(data_dict)
为什么要使用变量?您只需使用JSON.loads()将JSON转换为Python dictionary即可。@MuhammadYousufNoor,我将在将来使用此变量,因此我需要从JSON文件中提取名称、价格和数量等单个数据。我对JSON模块还比较陌生,所以请跟我谈谈。谢谢你们的帮助,这是一个后续问题。如果我有另一个表,我应该如何访问表2的dict值?我将附加修改后的JSON代码nevermind,我得到了:D
# Import the module
import json
# String with JSON format
data_JSON = """
[
{
"id": "p01",
"name": "Name 1",
"price": 1,
"quantity": 1
},
{
"id": "p02",
"name": "Name 2",
"price": 2,
"quantity": 2
},
{
"id": "p03",
"name": "Name 3",
"price": 3,
"quantity": 3
}
]
"""
# Convert JSON string to dictionary
data_dict = json.loads(data_JSON)
print(data_dict)