Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON密钥数据保存到Python变量_Python_Json_Python 3.x - Fatal编程技术网

如何将JSON密钥数据保存到Python变量

如何将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

有没有办法在每个变量(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(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)