我已经用python导入了一个json文件,但仍然读取了第一个json元素 我需要添加一个循环来读取所有文件
JSON文件内容
[
{
"severity": 4,
"status": "OPEN",
"id": 1987,
"description": "Multiple Login Failures for the Same User containing Bad Username",
"start_time": 1525269490400
},
{
"severity": 4,
"status": "OPEN",
"id": 1986,
"description": "Multiple Login Failures for the Same User containing Bad Username",
"start_time": 1525269181679
},
.
.
.
.
.
]
这是python脚本
# Prepare the sample Alert
with open('output.json') as json_data:
data = json.load(json_data,)
if severity=data[0]['severity'] < 4:
severity=1
elif severity=data[0]['severity'] > 6:
severity=3
else:
severity=2
alert = Alert(title=data[0]['description'],
date=data[0]['start_time'],
severity=severity,
description='N/A',
type='Offense',
source='QradarSiem',
sourceRef=data[0]['id'])
我知道我需要使用
for line in f:
data.append(json.loads(line))
但我不知道在哪里以及如何使用它,你能帮忙吗?
答案 0 :(得分:1)
我知道我需要使用
@NamedQuery(name="getMatchData",query="select PM from PlayerMatch PM " + "inner join Team T on PM.teamId = T.teamId " + "inner join Player P on PM.playerId = P.playerId " + "where PM.matchId = :matchID")
为什么你会这样做?你已经解析了整个文件,你有一个列表对象,所有你要做的就是迭代列表。
for line in f: data.append(json.loads(line))"
答案 1 :(得分:1)
使用
行 data = json.load(json_data,)
您已经加载了所有数据。现在你可以迭代'数据':
for item in data:
if item['severity'] == 4:
do_something(item)
答案 2 :(得分:0)
尝试:
import json
with open("infile.json","r") as infile:
val = infile.read()
json=json.loads(val)
print(json)