mirror of
https://github.com/nlohmann/json.git
synced 2026-10-22 14:08:13 +00:00
deploy: 4155e2938f
This commit is contained in:
1 parent
be4d0a6f4b
commit
90f0c9d411
714 files changed
+22067
-622
No files matched your search
@@ -0,0 +1,30 @@
|
||||
#include <iostream>
|
||||
#include <nlohmann/json_view.hpp>
|
||||
|
||||
using json_document = nlohmann::json_document;
|
||||
|
||||
int main()
|
||||
{
|
||||
// count how many of many incoming records carry an optional "retry_of"
|
||||
// field -- contains() only walks the flat index, so scanning a large
|
||||
// batch like this never builds a single nlohmann::json value
|
||||
json_document batch = json_document::parse(R"(
|
||||
[
|
||||
{"id": 1},
|
||||
{"id": 2, "retry_of": 1},
|
||||
{"id": 3},
|
||||
{"id": 4, "retry_of": 3}
|
||||
]
|
||||
)");
|
||||
|
||||
const auto records = batch.root();
|
||||
std::size_t retries = 0;
|
||||
for (std::size_t i = 0; i < records.size(); ++i)
|
||||
{
|
||||
if (records[i].contains("retry_of"))
|
||||
{
|
||||
++retries;
|
||||
}
|
||||
}
|
||||
std::cout << retries << " of " << records.size() << " records are retries\n";
|
||||
}
|
||||
Reference in new issue
Block a user