aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2024-01-14 17:38:51 +0100
committerm-holger <m-holger@kubitscheck.org>2024-01-15 16:02:52 +0100
commita41b7899955a2bf54315fc2507f8e2f010ff271a (patch)
treef08a3068da9360cb30302e3624597bb679f8ead9 /libqpdf
parent7315aa8c9b924c9351838ec5c1351a8c75e66bf1 (diff)
downloadqpdf-a41b7899955a2bf54315fc2507f8e2f010ff271a.tar.zst
Add new method JSON::getDictItem
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/JSON.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libqpdf/JSON.cc b/libqpdf/JSON.cc
index f6401642..35b8fd76 100644
--- a/libqpdf/JSON.cc
+++ b/libqpdf/JSON.cc
@@ -410,6 +410,17 @@ JSON::isNull() const
return m->value->type_code == vt_null;
}
+JSON
+JSON::getDictItem(std::string const& key) const
+{
+ if (auto v = dynamic_cast<JSON_dictionary const*>(m->value.get())) {
+ if (auto it = v->members.find(key); it != v->members.end()) {
+ return it->second;
+ }
+ }
+ return makeNull();
+}
+
bool
JSON::forEachDictItem(std::function<void(std::string const& key, JSON value)> fn) const
{