You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何打印API响应内容查看其格式与字段值

Python打印Azure DevOps SDK响应内容的正确方法

Azure DevOps Python SDK返回的接口响应是自动生成的模型类实例,而非Python原生字典/列表,直接执行print()只会输出对象的内存地址,和JavaScript环境中默认打印可序列化对象的逻辑不同。两种环境的打印效果对比如下:

  • JavaScript环境直接打印响应效果:
    JS环境console.log打印响应
  • Python环境直接打印响应默认输出:
    Python直接打印对象输出内存地址

你可以通过以下几种方法清晰查看响应结构和字段值:

方法1:使用SDK内置as_dict()方法(推荐)

所有Azure SDK返回的模型实例都自带as_dict()方法,可以直接将对象转换为和API返回结构完全一致的Python字典,搭配pprint模块可以输出格式化后的易读结构:

from pprint import pprint

# 初始化客户端、调用接口的参考逻辑
# from azure.devops.connection import Connection
# from msrest.authentication import BasicAuthentication
# credentials = BasicAuthentication('', '你的个人访问令牌PAT')
# connection = Connection(base_url='https://dev.azure.com/你的组织名', creds=credentials)
# core_client = connection.clients.get_core_client()

response = core_client.get_projects()
# 打印整个响应结构
pprint(response.as_dict())

# 如果响应是分页列表,遍历列表项逐个打印
for project in response.value:
    pprint(project.as_dict())

这个方法输出的字段名和Azure DevOps官方API文档完全对应,不会遗漏属性,也不会带出SDK内部的冗余字段。

方法2:直接输出格式化JSON

如果需要和JavaScript环境看到的JSON结构完全一致,可以将转好的字典序列化为带缩进的JSON字符串输出:

import json

response = core_client.get_projects()
# indent指定缩进空格数,ensure_ascii=False避免中文被转义为Unicode编码
print(json.dumps(response.as_dict(), indent=2, ensure_ascii=False))

方法3:临时查看对象公开属性

调试阶段如果不想调用序列化方法,也可以通过对象的__dict__属性过滤出公开字段查看,注意这个方法可能会带出少量SDK内部属性,整洁度不如as_dict():

from pprint import pprint

response = core_client.get_projects()
# 过滤掉下划线开头的内部属性
public_fields = {k: v for k, v in response.__dict__.items() if not k.startswith('_')}
pprint(public_fields)

注意:不要尝试直接打印未做转换的SDK响应对象,这些模型类默认没有实现友好的字符串格式化逻辑,只会返回类名和内存地址,无法查看实际内容。

内容的提问来源于stack exchange,提问作者noonenine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:06:15