Skip to content
Snippets Groups Projects
Commit f4bfad4c authored by Pascal Palenda's avatar Pascal Palenda
Browse files

Switched to nlohmann/json library

parent 57b3990b
No related branches found
No related tags found
No related merge requests found
......@@ -4,41 +4,39 @@
#include <fstream>
#ifdef WITH_JSON_SUPPORT
#include <libjson.h>
#include <nlohmann/json.hpp>
#endif
void ITADSP::ExportIIRCoefficientsToJSON( const std::string& sJSONFilePath, const CFilterCoefficients& oCoefficients )
{
#ifdef WITH_JSON_SUPPORT
// TODO This has to be tested and checked, if the format is correct!
nlohmann::json jnCoefficients;
jnCoefficients["order"] = oCoefficients.uiOrder;
JSONNode jnCoefficients;
jnCoefficients.push_back( JSONNode( "order", oCoefficients.uiOrder ) );
JSONNode jnNumerator;
jnNumerator.set_name( "numerator" );
nlohmann::json jnNumerator;
for ( int i = 0; i < oCoefficients.vfNumerator.size ( ); i++ )
jnNumerator.push_back( JSONNode( "b" + std::to_string( i ), oCoefficients.vfNumerator[ i ] ) );
jnNumerator["b" + std::to_string ( i )] = oCoefficients.vfNumerator[i];
jnCoefficients.push_back( jnNumerator );
jnCoefficients["numerator"] = jnNumerator;
JSONNode jnDenominator;
jnDenominator.set_name( "denominator" );
nlohmann::json jnDenominator;
for ( int i = 0; i < oCoefficients.vfDenominator.size ( ); i++ )
jnDenominator.push_back( JSONNode( "a" + std::to_string( i + 1 ), oCoefficients.vfDenominator[i] ) );
jnDenominator["a" + std::to_string ( i + 1 )], oCoefficients.vfDenominator[i];
jnCoefficients.push_back( jnDenominator );
jnCoefficients["denominator"] = jnDenominator;
jnCoefficients.push_back(JSONNode("design_algorithm", oCoefficients.iDesignAlgorithm));
jnCoefficients["design_algorithm"] = oCoefficients.iDesignAlgorithm;
jnCoefficients.push_back(JSONNode("is_ARMA", oCoefficients.bIsARMA));
jnCoefficients["is_ARMA"] = oCoefficients.bIsARMA;
std::ofstream fsOut( sJSONFilePath );
fsOut << jnCoefficients.write_formatted();
fsOut << jnCoefficients.dump ( );
fsOut.close();
#else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment