コード例 #1
0
ファイル: CJson.cpp プロジェクト: colinw7/CJson
// read value at file pos
bool
CJson::
readValue(CStrParse &parse, ValueP &value)
{
  if (parse.eof())
    return false;

  char c = parse.getCharAt();

  if      (c == '\"') {
    std::string str1;

    if (! readString(parse, str1))
      return false;

    value = ValueP(createString(str1));
  }
  else if (c == '-' || isdigit(c)) {
    std::string str1;

    if (! readNumber(parse, str1))
      return false;

    bool ok;

    double n = CJson::stod(str1, ok);

    value = ValueP(createNumber(n));
  }
  else if (c == '{') {
    Object *obj;

    if (! readObject(parse, obj))
      return false;

    value = ValueP(obj);
  }
  else if (c == '[') {
    Array *array;

    if (! readArray(parse, array))
      return false;

    value = ValueP(array);
  }
  else if (parse.isString("true")) {
    parse.skipChars("true");

    value = ValueP(createTrue());
  }
  else if (parse.isString("false")) {
    parse.skipChars("false");

    value = ValueP(createFalse());
  }
  else if (parse.isString("null")) {
    parse.skipChars("null");

    value = ValueP(createNull());
  }
  else
    return false;

  return true;
}
コード例 #2
0
ファイル: aJSON.cpp プロジェクト: simonleber/6LoWPAN_SN
void
aJsonClass::addTrueToObject(aJsonObject* object, const char* name)
{
  addItemToObject(object, name, createTrue());
}
コード例 #3
0
ファイル: aJSON.cpp プロジェクト: NonnEmilia/rmap
void
aJsonClass::addBooleanToObject(aJsonObject* object, const char* name, bool b)
{
  addItemToObject(object, name, (b ? createTrue() : createFalse()));
}