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

如何解析GA API返回的特殊格式JSON以提取各城市网站访问量数据

问题解答

报错原因

  • 你对返回的JSON结构层级判断错误:json.loads()返回的最外层数组的每个元素,一级键只有columnHeader和data,不存在直接的dimensions键,直接调用x['dimensions']自然触发KeyError
  • 额外问题:你采用逐行读取解析的方式不符合当前JSON的格式,这个JSON是完整的嵌套结构,不是行存储的JSON Lines格式,不需要逐行加载解析

正确提取代码

你需要的城市和对应访客数据,都存储在data下的rows数组里,每个row的dimensions[0]是城市名,metrics[0]['values'][0]是对应访客数,实现代码如下:

import json

# 直接加载整个JSON文件
with open("test.json", "r", encoding="utf-8") as f:
    raw_data = json.load(f)

# 提取数据行
data_rows = raw_data[0]["data"]["rows"]
city_visits = []
for row in data_rows:
    city = row["dimensions"][0]
    # 访客数转成整数方便后续统计计算
    visit_count = int(row["metrics"][0]["values"][0])
    # 可选:过滤掉无效的(not set)数据
    if city != "(not set)":
        city_visits.append({"city": city, "visit_count": visit_count})
        print(f"城市:{city},访问量:{visit_count}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:08