JSON and JSONL
Learn how to get your Noir scan results in JSON or JSONL format. This guide provides examples of both formats and explains how to generate them.
Noir supports JSON and JSONL output formats:
- JSON: Single JSON object containing all results
- JSONL: Each line is a separate JSON object, useful for streaming large datasets
JSON Output
Generate JSON output:
noir -b . -f json --no-log
Output structure:
{
"endpoints": [
{
"url": "https://testapp.internal.domains/query",
"method": "POST",
"params": [
{
"name": "my_auth",
"value": "",
"param_type": "cookie",
"tags": []
},
{
"name": "query",
"value": "",
"param_type": "form",
"tags": [
{
"name": "sqli",
"description": "This parameter may be vulnerable to SQL Injection attacks.",
"tagger": "Hunt"
}
]
}
],
"details": {
"code_paths": [
{
"path": "spec/functional_test/fixtures/crystal_kemal/src/testapp.cr",
"line": 8
}
]
},
"protocol": "http",
"tags": []
}
]
}
JSONL Output
Generate JSONL output:
noir -b . -f jsonl --no-log
Output format (one JSON object per line):
{"url":"/","method":"GET","params":[...],"details":{...},"protocol":"http","tags":[]}
{"url":"/query","method":"POST","params":[...],"details":{...},"protocol":"http","tags":[]}
{"url":"/token","method":"GET","params":[...],"details":{...},"protocol":"http","tags":[]}