Skip to content

Add a -p j print mode that outputs Exif, IPTC, and XMP metadata as pretty-printed JSON. - #9365

Open
dixflatlinr wants to merge 2 commits into
Exiv2:mainfrom
dixflatlinr:json-output
Open

Add a -p j print mode that outputs Exif, IPTC, and XMP metadata as pretty-printed JSON.#9365
dixflatlinr wants to merge 2 commits into
Exiv2:mainfrom
dixflatlinr:json-output

Conversation

@dixflatlinr

Copy link
Copy Markdown

No description provided.

DF added 2 commits June 24, 2026 02:18
- New Print::printJson() method reads image metadata and serializes
it with nlohmann::ordered_json.
- buildMetadatumJson() handles per-tag JSON construction
- serializeMetadataJson() template filters containers by the same
grep/key/unknown flags used by the existing printMetadata() path.
- TestJsonBasicStructure: validates top-level keys, per-tag field presence
and types on DSC_3079.jpg
- TestJsonFileNotFound: verifies correct stderr message and retval=255
for missing files
- TestJsonWithGrepFilter: -g flag restricts tags to matching keys
- TestJsonWithKeyFilter: -K flag limits output to exact key (ordered
-K before -p j to work around printMode_=pmList side-effect at
exiv2.cpp:394)
- TestJsonWithGrepNoMatch: grep with no hits produces empty arrays
- TestJsonIsValidJson: smoke test that stdout is parseable JSON
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant