#include "mapzen_jsonparser.hpp"
#include "rapidjson/document.h"
+#include "rapidjson/error/error.h"
+#include "rapidjson/error/en.h"
extern "C" {
#include "mapzen_queue.h"
//crack open that json
rapidjson::Document document;
document.Parse(std::string(response, size).c_str());
+
+ if (document.HasParseError()) {
+ MAP_DEBUG("Error Parsing JSON Response: %s (%u)", GetParseError_En(document.GetParseError()), document.GetErrorOffset());
+ return;
+ }
+
rapidjson::Value::ConstMemberIterator features = document.FindMember("features");
if(features != document.MemberEnd() && features->value.IsArray()) {
//for each feature
//crack open that json
rapidjson::Document document;
document.Parse(std::string(response, size).c_str());
+
+ if (document.HasParseError()) {
+ MAP_DEBUG("Error Parsing JSON Response: %s (%u)", GetParseError_En(document.GetParseError()), document.GetErrorOffset());
+ return;
+ }
+
rapidjson::Value::ConstMemberIterator features = document.FindMember("features");
if(features != document.MemberEnd() && features->value.IsArray()) {
//for each feature
//crack open that json
rapidjson::Document document;
document.Parse(std::string(response, size).c_str());
+
+ if (document.HasParseError()) {
+ MAP_DEBUG("Error Parsing JSON Response: %s (%u)", GetParseError_En(document.GetParseError()), document.GetErrorOffset());
+ return;
+ }
+
rapidjson::Value::ConstMemberIterator features = document.FindMember("features");
if(features != document.MemberEnd() && features->value.IsArray()) {
//for each feature
rapidjson::Document document;
document.Parse(std::string(response, size).c_str());
+
+ if (document.HasParseError()) {
+ MAP_DEBUG("Error Parsing JSON Response: %s (%u)", GetParseError_En(document.GetParseError()), document.GetErrorOffset());
+ return;
+ }
+
rapidjson::Value::MemberIterator trip = document.FindMember("trip");
if (trip == document.MemberEnd()) {
MAP_DEBUG(">>>>> PROCESS __parse_route_response: trip object not found in response");