【问题标题】:Parsing JSON by python用python解析JSON
【发布时间】:2019-08-11 06:25:39
【问题描述】:

我有问题。 我需要在 JSON 项目中获取 2 个项目是“some_number”和“some_number_2” 每个请求中的项目“sample1”和“sample2”各不相同。 我是 Python 的新手。非常感谢

"data":{
   "sample1":{
      "some_number":"8410000110275080",
      "some_number_2":"0070050001010011",
      "name":"0000405533003537",
      },
   "sample2":{
      "some_number":"8410000110275080",
      "some_number_2":"0070050001010011",
      "name":"0000405533003537",
      }

在我的代码中,我只能获得“sample1”和“sample2”。在下一个请求中,这个值是不同的。

【问题讨论】:

  • 这不是有效的 json。是否有外括号包裹data
  • 您可以使用一个 bultin json 模块。 data = json.load(fd); [(d['some_number'], d['some_number_2']) for _,d in data['data'].items()] ?但是不要使用一个衬里:)
  • 您如何尝试存储 some_numbersome_number_2 的值?

标签: python json parsing


【解决方案1】:

您需要在字典中加载 Json:

with open("your file path", 'r') as f:
    data = json.load(f)

然后,如果您想遍历字典的键和值,请执行以下操作:

for key, value in data.items():
    print key, value

然后您可以嵌套for 循环以获得所需的key, value 对。

最好的

【讨论】:

  • 嗯,这里有很多需要注意的地方。您的代码不适用于上面发布的 JSON 数据。其次,如果我们认为输入数据的格式正确,那么您确定这个答案不是骗人的吗?
  • 上面发布的 Json 有 , 与此处无关,但此代码适用于格式良好的 json。然后,我只是给出如何解决问题的提示。如果他/她必须考虑如何获得价值,他/她将更好地学习如何操纵 Json。
【解决方案2】:

假设您的 json 文件如下所示:

{"data":{
   "sample1":{
      "some_number":"8410000110275080",
      "some_number_2":"0070050001010011",
      "name":"0000405533003537",
      },
   "sample2":{
      "some_number":"8410000110275080",
      "some_number_2":"0070050001010011",
      "name":"0000405533003537",
      }
}

你可以使用 json 模块之类的东西来解析它:

import json

# open the file using with
with open('myfile.json') as fh:
    my_json = json.load(fh)

# Now my_json is a dictionary
# We can iterate over values of a dictionary
inner_dict = my_json['data']

some_number, some_number_2 = [], []

# Iterate over each value
for val in inner_dict.values():
    some_number.append(val['some_number'])
    some_number_2.append(val['some_number_2'])



【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    相关资源
    最近更新 更多