如何在Python中解析json数据?

2024-09-30 01:22:12 发布

您现在位置:Python中文网/ 问答频道 /正文

请帮助我用python解析这个json。在

{ "IT" : [   
                            { "firstName" : "ajay",  
                              "lastName"  : "stha",
                              "age"       : 24 },

                            { "firstName" : "Michiel",  
                              "lastName"  : "Og",
                              "age"       : 35 }
                          ],                            
          "sales"       : [ 
                            { "firstName" : "Guru", 
                              "lastName"  : "red",
                              "age"       : 27 },

                            { "firstName" : "Jim",   
                              "lastName"  : "Galley",
                              "age"       : 34 }
                          ] 
        } 

如何在Python中解析这个json?请帮帮我


Tags: jsonageitredfirstnameogsaleslastname
3条回答
import json
jsonResponse = json.loads(data)
jsonDataSales = jsonResponse["sales"]
jsonDataIt = jsonResponse["IT"]
it_first_name_list = []
it_last_name_list = []
it_age_list = []
sales_first_name_list = []
sales_last_name_list = []
sales_age_list = []

for item in jsonDataIt:
    it_first_name_list.append(item.get("firstName"))
    it_last_name_list.append(item.get("lastName"))
    it_age_list.append(item.get("age"))

for item in jsonDataSales:
    sales_first_name_list.append(item.get("firstName"))
    sales_last_name_list.append(item.get("lastName"))
    sales_age_list.append(item.get("age"))

使用json

import json
data = json.loads(stringinput)

具有嵌套结构的Python字典与JSON数据非常相似, 尽管Python的变量和表达式支持更丰富的结构化选项(任何部分 以下可以是Python代码中的任意表达式)

>>> name = dict(first='Bob', last='Smith')
>>> rec = dict(name=name, job=['dev', 'mgr'], age=40.5)
>>> rec
{'job': ['dev', 'mgr'], 'name': {'last': 'Smith', 'first': 'Bob'}, 'age': 40.5}

这里显示的最终字典格式是Python代码中的有效文本,并且 按原样打印时传递给JSON,但JSON模块使翻译成为正式的 -这里将Python对象与JSON序列化字符串表示进行转换 内存中:

^{pr2}$

类似地,在JSON数据字符串之间转换Python对象也很简单 在文件中。在存储到文件中之前,您的数据只是Python对象;JSON 当JSON从文本表示中重新加载它们时,它将从JSON模块中重新创建 文件:

>>> json.dump(rec, fp=open('testjson.txt', 'w'), indent=4)
>>> print(open('testjson.txt').read())
{
"job": [
"dev",
"mgr"
],
"name": {
"last": "Smith",
"first": "Bob"
},
"age": 40.5
}
>>> P = json.load(open('testjson.txt'))
>>> P
{'job': ['dev', 'mgr'], 'name': {'last': 'Smith', 'first': 'Bob'}, 'age': 40.5}

相关问题 更多 >

    热门问题