Files
libopenshot/src/Json.cpp

34 lines
780 B
C++
Raw Normal View History

2019-12-27 10:28:18 -05:00
/**
* @file
* @brief Helper functions for Json parsing
* @author FeRD (Frank Dana) <ferdnyc@gmail.com>
*
* @ref License
*/
// Copyright (c) 2008-2019 OpenShot Studios, LLC
//
// SPDX-License-Identifier: LGPL-3.0-or-later
2019-12-27 10:28:18 -05:00
#include "Json.h"
#include "Exceptions.h"
2019-12-27 10:28:18 -05:00
const Json::Value openshot::stringToJson(const std::string value) {
// Parse JSON string into JSON objects
Json::Value root;
Json::CharReaderBuilder rbuilder;
Json::CharReader* reader(rbuilder.newCharReader());
std::string errors;
bool success = reader->parse( value.c_str(), value.c_str() + value.size(),
&root, &errors );
delete reader;
if (!success)
// Raise exception
throw openshot::InvalidJSON("JSON could not be parsed (or is invalid)");
return root;
}