public LSL_String llList2Json(LSL_String type, LSL_List values)
{
try
{
if (type == ScriptBaseClass.JSON_ARRAY)
{
OSDArray array = new OSDArray();
foreach (object o in values.Data)
{
array.Add(ListToJson(o));
}
return OSDParser.SerializeJsonString(array);
}
else if (type == ScriptBaseClass.JSON_OBJECT)
{
OSDMap map = new OSDMap();
for (int i = 0; i < values.Data.Length; i += 2)
{
if (!(values.Data[i] is LSL_String))
return ScriptBaseClass.JSON_INVALID;
map.Add(((LSL_String)values.Data[i]).m_string, ListToJson(values.Data[i + 1]));
}
return OSDParser.SerializeJsonString(map);
}
return ScriptBaseClass.JSON_INVALID;
}
catch (Exception ex)
{
return ex.Message;
}
}