MySQL возвращает массивы в сериализованном виде, например: "a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}"
.
Чтобы преобразовать этот сериализованный массив в массив строк в Unity, выполните следующие действия:
a:
и :{
.;
.string serializedArray = "a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}";
// Удалите лишние символы
string trimmedArray = serializedArray.Replace("\"", "").Replace("a:", "").Replace("{", "");
// Разделите строку на токены
string[] tokens = trimmedArray.Split(';');
// Извлеките индексы и значения
Dictionary<int, string> indexValues = new Dictionary<int, string>();
for (int i = 0; i < tokens.Length; i += 2)
{
int index = int.Parse(tokens[i]);
string value = tokens[i + 1];
indexValues.Add(index, value);
}
// Создайте новый массив
string[] array = new string[indexValues.Count];
foreach (KeyValuePair<int, string> pair in indexValues)
{
array[pair.Key] = pair.Value;
}
Результирующий массив будет выглядеть следующим образом: {0, 1, 1, 2, 2, 3}
.