Parse simple strings

This commit is contained in:
Benoit Blanchon
2014-10-15 23:39:25 +02:00
parent 3d92531ad3
commit 241ca79114
3 changed files with 37 additions and 0 deletions

View File

@ -70,6 +70,11 @@ bool JsonParser::isSpace()
return *_ptr == ' ' || *_ptr == '\t' || *_ptr == '\n' || *_ptr == '\r';
}
bool JsonParser::isString()
{
return *_ptr == '\"';
}
void JsonParser::skipOneChar()
{
_ptr++;
@ -99,6 +104,9 @@ JsonNode* JsonParser::parseAnything()
if (isNull())
return parseNull();
if (isString())
return parseString();
return 0;
}
@ -168,3 +176,15 @@ JsonNode* JsonParser::parseNull()
return _buffer->createStringNode(0);
}
JsonNode* JsonParser::parseString()
{
const char* s = ++_ptr;
while (*_ptr != '\"')
_ptr++;
*_ptr = 0;
_ptr++;
return _buffer->createStringNode(s);
}