首页 > 解决方案 > 字符串等于 json Python

问题描述

我想知道如何json通过查看它并找到一个名称来访问它的一部分(希望这个例子更有意义)。

Name = 'kyle'

所以我试图找到凯尔和他的所有信息,比如他的年龄。

{   "People": {
     "Names": {
       "kyle": [
         {
           "Age": "23",
           "Filler": "23"
         }
       ],
       "Michel": [
         {
           "value": "New"
         }
       ],
       "Smith": [
         {
           "value": "New"
         }
       ]
     }   
  } 
}

我稍后想将此信息存储到一个变量中。任何帮助都感激不尽。

标签: pythonjsonselenium

解决方案


import sys
import json

person_name=sys.argv[1]

json_str="""{"People": {"Names": {"kyle":[{"Age": "23", "Filler": "23" }], "Michel": [{"value": "New"}], "Smith": [ { "value": "New"}]}}}"""

json_data=json.loads(json_str)
for name in json_data["People"]["Names"]:
    if name == person_name:
        for data in json_data["People"]["Names"][name]:
            print("{}\n\nData: {}\n").format(person_name, data)

这可以定制以进一步满足您的需求

用法:

./script_name.py <name_of_person>

场景1:

./script_name.py kyle

输出 1:

Kyle:

Data: {u'Filler': u'23', u'Age': u'23'}

方案 2:

./script_name.py Michel

输出 2:

Michel

Data: {u'value': u'New'}

它看起来不再那么好,因为您的数据结构因人而异,尽管很容易解决这个问题。


推荐阅读