public LSL_String llJsonValueType(LSL_String json, LSL_List specifiers)
{
OSD o = OSDParser.DeserializeJson(json);
OSD specVal = JsonGetSpecific(o, specifiers, 0);
if (specVal == null)
return ScriptBaseClass.JSON_INVALID;
switch (specVal.Type)
{
case OSDType.Array:
return ScriptBaseClass.JSON_ARRAY;
case OSDType.Boolean:
return specVal.AsBoolean() ? ScriptBaseClass.JSON_TRUE : ScriptBaseClass.JSON_FALSE;
case OSDType.Integer:
case OSDType.Real:
return ScriptBaseClass.JSON_NUMBER;
case OSDType.Map:
return ScriptBaseClass.JSON_OBJECT;
case OSDType.String:
case OSDType.UUID:
return ScriptBaseClass.JSON_STRING;
case OSDType.Unknown:
return ScriptBaseClass.JSON_NULL;
}
return ScriptBaseClass.JSON_INVALID;
}
}