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

Python处理API拉取数据时无法输出正确JSON格式如何解决

问题根因

你当前的代码在遍历每个符合条件的元素时,直接将单条字典结构独立序列化写入文件,最终输出的是多个独立JSON对象拼接的内容,不符合JSON语法规范。合法的多元素集合需要包裹在JSON数组中。

修正后的代码

import json # 注意不要漏导入json依赖包

def refine_data():
    with open("api-pull.json", encoding='utf-8') as json_file:
        json_data = json.load(json_file)
        print('JSON loaded correctly')
    
    # 先收集所有符合条件的精炼数据
    refined_list = []
    for item in json_data:
        if 'lat' in item and 'lng' in item: # 校验坐标字段是否存在
            refined_list.append({
                'name' : item["name"],
                'latitude' : item["lat"],
                'longitude' : item["lng"],
                'status' : item["status"]["online"],
                'address' : item["address"],
                'reward_scale' : item["reward_scale"]
            })
    
    # 统一将完整列表序列化写入文件
    with open('REFINEDapi-pull.json', 'w', encoding='utf-8') as REFINED:
        json.dump(refined_list, REFINED, ensure_ascii=False, indent=4)

核心修改点

  • 新增空列表refined_list用于存储所有筛选后的结果
  • 遍历阶段仅做数据组装,将符合条件的字典追加到列表中
  • 遍历完成后一次性序列化整个列表,最终输出就是符合规范的JSON数组结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:54:03