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 @@ ...@@ -4,41 +4,39 @@
#include <fstream> #include <fstream>
#ifdef WITH_JSON_SUPPORT #ifdef WITH_JSON_SUPPORT
#include <libjson.h> #include <nlohmann/json.hpp>
#endif #endif
void ITADSP::ExportIIRCoefficientsToJSON( const std::string& sJSONFilePath, const CFilterCoefficients& oCoefficients ) void ITADSP::ExportIIRCoefficientsToJSON( const std::string& sJSONFilePath, const CFilterCoefficients& oCoefficients )
{ {
#ifdef WITH_JSON_SUPPORT #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; nlohmann::json jnNumerator;
jnCoefficients.push_back( JSONNode( "order", oCoefficients.uiOrder ) );
JSONNode jnNumerator;
jnNumerator.set_name( "numerator" );
for ( int i = 0; i < oCoefficients.vfNumerator.size ( ); i++ ) 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; nlohmann::json jnDenominator;
jnDenominator.set_name( "denominator" );
for ( int i = 0; i < oCoefficients.vfDenominator.size ( ); i++ ) 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 ); std::ofstream fsOut( sJSONFilePath );
fsOut << jnCoefficients.write_formatted(); fsOut << jnCoefficients.dump ( );
fsOut.close(); fsOut.close();
#else #else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment