コード例 #1
0
void VJSONArrayWriter::AddString(const VString& inValue, JSONOption inModifier)
{
	VString	valueStr;
	
	inValue.GetJSONString(valueStr, inModifier);
	
	_ReopenIfNeeded();

	fArrayRef += valueStr;
	fArrayRef += ",";
}
コード例 #2
0
ファイル: VValueBag.cpp プロジェクト: StephaneH/core-XToolbox
void AppendJSONPropertyName(VString& outJSONString, sLONG& curlevel, bool prettyformat, const VString name)
{
	VString name2;
	AppendJSONNewline(outJSONString, prettyformat);
	AjustJSONTab(outJSONString, curlevel, prettyformat);
	name.GetJSONString(name2, JSON_WithQuotesIfNecessary);
	outJSONString += name2;
	if (prettyformat)
		outJSONString += " : ";
	else
		outJSONString.AppendUniChar(':');
}
コード例 #3
0
VError VJSONWriter::StringifyValue( const VJSONValue& inValue, VString& outString)
{
    VError err = VE_OK;
    switch( inValue.GetType())
    {
    case JSON_undefined:
    {
        outString = VJSONValue::sUndefinedString;
        break;
    }

    case JSON_null:
    {
        outString = VJSONValue::sNullString;
        break;
    }

    case JSON_true:
    {
        outString = VJSONValue::sTrueString;
        break;
    }

    case JSON_false:
    {
        outString = VJSONValue::sFalseString;
        break;
    }

    case JSON_string:
    {
        VString s;
        err = inValue.GetString( s);
        s.GetJSONString( outString, GetOptions());
        break;
    }

    case JSON_number:
    {
        VReal r( inValue.GetNumber());
        err = r.GetJSONString( outString, GetOptions());
        break;
    }

    case JSON_array:
    {
        err = StringifyArray( inValue.GetArray(), outString);
        break;
    }

    case JSON_object:
    {
        err = StringifyObject( inValue.GetObject(), outString);
        break;
    }

    default:
        xbox_assert( false);
    }

    return err;
}
コード例 #4
0
VError VJSONWriter::StringifyValue( const VJSONValue& inValue, VString& outString)
{
	VError err = VE_OK;
	switch( inValue.GetType())
	{
		case JSON_undefined:
			{
				outString = VJSONValue::sUndefinedString;
				break;
			}

		case JSON_null:
			{
				outString = VJSONValue::sNullString;
				break;
			}

		case JSON_true:
			{
				outString = VJSONValue::sTrueString;
				break;
			}

		case JSON_false:
			{
				outString = VJSONValue::sFalseString;
				break;
			}
			
		case JSON_string:
			{
				VString s;
				err = inValue.GetString( s);
				s.GetJSONString( outString, GetOptions());
				break;
			}

		case JSON_date:
			{
				VTime dd;
				VString s;
				inValue.GetTime(dd);
				dd.GetJSONString(s);
				if ((GetOptions() & JSON_AllowDates) != 0)
				{
					outString = "\"!!" + s + "!!\"";
				}
				else
					outString = "\"" + s + "\"";
				break;
			}

		case JSON_number:
			{
				VReal r( inValue.GetNumber());
				err = r.GetJSONString( outString, GetOptions());
				break;
			}

		case JSON_array:
			{
				err = StringifyArray( inValue.GetArray(), outString);
				break;
			}

		case JSON_object:
			{
				err = StringifyObject( inValue.GetObject(), outString);
				break;
			}
		
		default:
			xbox_assert( false);
	}
	
	return err;
}
コード例 #5
0
ファイル: VUUID.cpp プロジェクト: sanyaade-iot/core-XToolbox
VError VUUID::GetJSONString(VString& outJSONString, JSONOption inModifier) const
{
	VString s;
	GetString(s);
	return s.GetJSONString(outJSONString, inModifier);
}