23 #include "json_parser.hh"
24 #include "json_scanner.h"
26 #include <QtCore/QBuffer>
27 #include <QtCore/QStringList>
28 #include <QtCore/QTextStream>
29 #include <QtCore/QDebug>
31 using namespace QJson;
33 ParserPrivate::ParserPrivate() :
40 ParserPrivate::~ParserPrivate()
45 void ParserPrivate::setError(QString errorMsg,
int errorLine) {
47 m_errorMsg = errorMsg;
48 m_errorLine = errorLine;
61 QVariant Parser::parse (QIODevice* io,
bool* ok)
63 d->m_errorMsg.clear();
68 if (!io->open(QIODevice::ReadOnly)) {
71 qCritical (
"Error opening device");
76 if (!io->isReadable()) {
79 qCritical (
"Device is not readable");
84 d->m_scanner =
new JSonScanner (io);
98 QVariant Parser::parse(
const QByteArray& jsonString,
bool* ok) {
100 buffer.open(QBuffer::ReadWrite);
101 buffer.write(jsonString);
103 return parse (&buffer, ok);
106 QString Parser::errorString()
const
108 return d->m_errorMsg;
111 int Parser::errorLine()
const
113 return d->m_errorLine;