///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2011-2013 Statoil ASA, Ceetron AS // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. // // See the GNU General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// #pragma once #include #include #include // Encapsulate the JSON code in a namespace to avoid issues with JSON classes used in opm-parser namespace ResInsightInternalJson { class JsonReader { public: static QMap decodeFile( QString filePath ); // Get a variant list from a map static QVariantList getVariantList( const QMap& map ); static QString rootKeyText(); private: JsonReader(){}; }; class JsonWriter { public: static bool encodeFile( QString filePath, QMap map ); private: JsonWriter(){}; }; class Json { public: static QString encode( const QMap& map, bool prettify ); static QMap decode( const QString& jsonStr ); static QMap decode( const QByteArray& byteArray ); }; } // namespace ResInsightInternalJson