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

如何用Python将在线JSON解码为字符串并解析指定JSON链接

如何用Python解析在线JSON数据(以Void Trader数据为例)

嘿,我来帮你搞定这个!要把在线JSON数据解码成可操作的Python对象(或者字符串),用requests库获取数据,再配合Python内置的json模块就非常简单。下面我一步步演示怎么处理你提到的Void Trader数据链接:

1. 先准备好必要的工具

如果你还没装requests库,先通过pip安装:

pip install requests

json是Python标准库,不用额外安装。

2. 完整的解析代码示例

这里是可以直接运行的代码,我加了详细注释帮你理解每一步:

import requests
import json

def get_void_trader_data():
    # 目标JSON链接
    url = "https://deathsnacks.com/wf/data/voidtraders.json"
    
    try:
        # 发送GET请求获取数据
        response = requests.get(url)
        # 检查请求是否成功(HTTP状态码200表示成功)
        response.raise_for_status()
        
        # 方法1:直接把响应解析成Python字典(最常用)
        data = response.json()
        print("解析后的Python数据结构:")
        print(data)
        
        # 方法2:如果需要把JSON转成字符串(比如保存或打印原始格式)
        json_str = response.text
        # 或者用json.dumps把解析后的字典再转回格式化的字符串
        formatted_json_str = json.dumps(data, indent=4)
        print("\n格式化后的JSON字符串:")
        print(formatted_json_str)
        
        # 示例:提取特定字段,比如虚空商人的名字和当前位置
        if "voidTrader" in data:
            trader_info = data["voidTrader"]
            print(f"\n当前虚空商人:{trader_info['name']},位置:{trader_info['location']}")
            # 提取商品列表
            print("携带商品:")
            for item in trader_info["inventory"]:
                print(f"- {item['item']}:需要{item['ducats']} Ducats + {item['credits']} 星币")
        
        return data
    
    except requests.exceptions.RequestException as e:
        print(f"请求数据时出错:{e}")
        return None
    except json.JSONDecodeError as e:
        print(f"解析JSON时出错:{e}")
        return None

# 调用函数
get_void_trader_data()

3. 代码关键部分说明

  • requests.get(url):向目标URL发送请求,获取服务器返回的响应。
  • response.raise_for_status():如果请求失败(比如404、500错误),会直接抛出异常,避免后续处理无效数据。
  • response.json():自动把JSON格式的响应体解码成Python字典/列表,这是最常用的方式,方便直接操作数据。
  • response.text:获取原始的JSON字符串,如果你需要保存原始数据或者做字符串处理可以用这个。
  • json.dumps(data, indent=4):把解析后的Python对象转回格式化的JSON字符串,方便阅读。

4. 预期的返回结果示例

解析后你会得到一个类似这样的结构(简化版):

{
    "voidTrader": {
        "name": "Baro Ki'Teer",
        "location": "Relay: Larunda (Venus)",
        "start": 1696156800,
        "end": 1696329600,
        "inventory": [
            {
                "item": "Primed Flow",
                "ducats": 150,
                "credits": 80000
            },
            {
                "item": "Akbolto Prime Receiver",
                "ducats": 125,
                "credits": 75000
            }
        ]
    },
    "active": true
}

这样你就能轻松把在线JSON数据转换成Python可操作的结构,或者导出成格式化的字符串啦。要是你需要提取其他特定字段,直接根据JSON的层级关系访问就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:08:41