我有这个JSON编码的文本:
{"port":27277,"velocityX":-0.4,"time":199888,"powerup":"Wall","player":0,"positionX":2331,"velocityY":4.2,"positionY":1130,"type":"powerupUse"}
{"port":27277,"velocityX":0,"time":199921,"powerup":"Homing Missile","player":0,"positionX":2319,"velocityY":0,"positionY":1179,"type":"powerupPickup"}
{"port":27277,"time":200032,"type":"pingSummary","pingByPlayer":{"0":0}}
{"port":27277,"velocityX":0.37,"time":201784,"powerup":"Homing Missile","player":0,"positionX":2346.61,"velocityY":4.25,"positionY":1123.58,"type":"powerupUse"}
{"port":27277,"time":202623,"player":0,"target":"turret","xp":1,"type":"structureDamage","exactXp":1.8466638326644897}
{"port":27277,"time":202623,"player":0,"target":"turret","xp":10,"type":"structureDestroy"}
{"port":27277,"time":202936,"player":0,"target":"turret","xp":2,"type":"structureDamage","exactXp":2.9056427478790283}
{"port":27277,"time":203171,"player":0,"target":"turret","xp":4,"type":"structureDamage","exactXp":4.7512664794921875}
{"port":27277,"time":205034,"type":"pingSummary","pingByPlayer":{"0":0}}
我想用Python解码它,我试过这样做:
with open("log.txt") as log:
data = log.read()
jsondata = json.loads(data)
但我有个错误:
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 82)
我想像这样分析数据
['port']['time']['player']
有人能帮我吗,因为我很快就需要这个?你知道吗
问题是文件中有更多的json,而不是只有一个。用“\n”分隔符拆分文本,然后调用json.loads文件每行。你知道吗
json.loads
加载单个JSON对象。在您的例子中,log.txt
包含多个由"\n"
分隔的JSON对象。您可以遍历文件中的行并对每行调用json.loads
:我会这样做:
相关问题 更多 >
编程相关推荐