当前位置: 首页 > 工具软件 > simdjson > 使用案例 >

最强json解析simdjson的示范(demo)例子(常用代码)

田英卓
2023-12-01
#include <simdjson.h>
using namespace std;
using namespace simdjson;
int main() {
	padded_string json = R"({"foo": 1,"bar": 2,"baz":[1,5,7]})"_padded;
	dom::parser parser;
	dom::element el;
	dom::array arr;
	dom::object obj;
	auto error = parser.parse(json).get(el);
	if (error) { cerr << error << endl; return -1; }
	cout << el["foo"] << endl;
	cout << el.at_pointer("/baz/1") << endl;
	if (error = el["baz"].get(arr)) { cerr << error << endl; return -1;}
	cout << arr.size() << "\t" << arr.at(1) << endl;
	if (error = parser.parse(json).get(obj)) { cerr << error << endl; return -1;}
	for (dom::key_value_pair field : obj) {cout << field.key << " = " << field.value << endl;}
	auto json2 = R"({ "foo": 1 }
{ "foo": 2 }
{ "foo": 3 })"_padded;
	dom::document_stream docs = parser.parse_many(json2);
	for (dom::element doc : docs) {
		cout << doc["foo"] << endl;
	}
	return 0;
}

 

 类似资料: