From: Youngjae Shin Date: Mon, 26 Jul 2021 02:07:26 +0000 (+0900) Subject: change json api deprecated X-Git-Tag: submit/tizen/20210802.223411^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_6.5_unified;p=platform%2Fcore%2Fcontext%2Fjob-scheduler.git change json api deprecated Change-Id: I51efe034f7d3518c84238f7c359f2e12cbea3050 --- diff --git a/src/client/job_scheduler.cpp b/src/client/job_scheduler.cpp index a9ddaa3..f66791c 100644 --- a/src/client/job_scheduler.cpp +++ b/src/client/job_scheduler.cpp @@ -646,10 +646,9 @@ EXPORT_API const char* ctx_sched_job_serialize(ctx_sched_job_h job) static std::string serialized; Json::Value jsonRoot; - Json::StyledWriter writer; job->jobInfo->toJson(jsonRoot); - serialized = writer.write(jsonRoot); + serialized = jsonRoot.toStyledString(); return serialized.c_str(); } @@ -659,10 +658,9 @@ EXPORT_API const char* ctx_sched_job_context_serialize(ctx_sched_job_context_h j static std::string serialized; Json::Value jsonRoot; - Json::StyledWriter writer; job_context->jobContext->toJson(jsonRoot); - serialized = writer.write(jsonRoot); + serialized = jsonRoot.toStyledString(); return serialized.c_str(); } diff --git a/src/server/MethodCallHandler.cpp b/src/server/MethodCallHandler.cpp index b6b047e..3d8832b 100644 --- a/src/server/MethodCallHandler.cpp +++ b/src/server/MethodCallHandler.cpp @@ -254,11 +254,13 @@ void MethodCallHandler::__publishContext(IMethodCall& methodCall) g_variant_get(methodCall.getParam(), "(&s&s)", &uri, &payload); IF_FAIL_THROW(uri && payload, E_PARAM); - try { - Json::Reader reader; - reader.parse(payload, data); - } catch (const Json::Exception& e) { - _E("Exception: %s", e.what()); + std::string errors; + Json::CharReaderBuilder builder; + Json::CharReader *reader = builder.newCharReader(); + bool result= reader->parse(payload, payload + strlen(payload), &data, &errors); + delete reader; + if (result == false) { + _E("parse Error(%s)", errors.c_str()); throw E_PARAM; } diff --git a/src/shared/JobInfo.cpp b/src/shared/JobInfo.cpp index 52936a7..4118fce 100644 --- a/src/shared/JobInfo.cpp +++ b/src/shared/JobInfo.cpp @@ -203,10 +203,10 @@ std::string JobInfo::serialize() const Json::Value jsonRoot; toJson(jsonRoot); - Json::FastWriter fastWriter; - fastWriter.omitEndingLineFeed(); + Json::StreamWriterBuilder builder; + builder["indentation"] = ""; - return fastWriter.write(jsonRoot); + return Json::writeString(builder, jsonRoot); } void JobInfo::toJson(Json::Value& jsonRoot) const @@ -268,12 +268,15 @@ JobInfo& JobInfo::setDisjunction(bool disjunction) JobInfo* JobInfo::deserialize(const std::string& serializedStr) { - Json::Reader reader; Json::Value jsonRoot; JobInfo* job = NULL; try { - if (reader.parse(serializedStr, jsonRoot)) { + std::string errors; + Json::CharReaderBuilder builder; + std::unique_ptr reader(builder.newCharReader()); + + if (reader->parse(serializedStr.c_str(), serializedStr.c_str() + serializedStr.size(), &jsonRoot, &errors)) { JobInfo::Type type = static_cast(jsonRoot[KEY_JOB_TYPE].asInt()); if (type == JobInfo::Type::PERIODIC) { job = new PeriodicJobInfo(jsonRoot, serializedStr);