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

在Python Scrapy中不使用split方法将字符串转换为字典

解决非标准JSON格式转换与数据提取问题

没问题,我来帮你搞定这个需求!你需要把没有双引号包裹键的非标准JSON字符串转换成标准格式,然后提取指定字段,而且还不能用split方法,用正则表达式就能完美解决。

具体步骤:

  1. 转换非标准JSON为标准格式
    原始字符串里的键(比如clientId、id)没有被双引号包裹,这不符合JSON规范。我们可以用正则表达式匹配所有的键,给它们加上双引号。这里用re.sub()方法来批量替换,完全不需要split。

  2. 解析JSON并提取数据
    转换后的字符串就是标准JSON了,直接用json.loads()解析成字典,然后就能轻松提取clientId和id的值。

完整代码示例:

import re
import json

# 原始非标准JSON字符串
data = '{clientId: "300",id: "new",ctime: "6/3/2022",mtime: "6/3/2022"}'

# 用正则给所有键加上双引号,转换成标准JSON格式
standard_data = re.sub(r'(\w+):', r'"\1":', data)

# 解析JSON字符串为字典
JO = json.loads(standard_data)

# 提取需要的字段(用id_val避免和Python内置函数id冲突)
clientId = JO['clientId']
id_val = JO['id']

# 输出结果
print(f"clientId = {clientId} id = {id_val}")

运行结果:

clientId = 300 id = new

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 23:37:31