Сам json выглядит так:
- Спойлер
- Код: Выделить всё
{
"speed":2.0,
"nameUnit":"Experiment",
"weapon":1,
"xyzCoord":[1.5 , 3.0, 5.2]
}
Лежит он в папке Ассетов, рядом со сценой и прочим - других папок там нет, проект экспериментальный, очень маленький, как раз для отработки таких вот частных вопросов.
Сам скрипт СиШарп:
- Спойлер
- Код: Выделить всё
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class UnitINI : MonoBehaviour
{
public float speed = 0.0f;
public string nameUnit;
public int weapon = 1;
public float[] xyzCoord = {0.0f , 0.0f, 0.0f};
public string objectsJson = "Assets/experimentJson.json";
void Start()
{
StreamReader strRead = new StreamReader(objectsJson);
string json = strRead.ReadToEnd();
UnitINI player = (UnitINI)JsonUtility.FromJson(json, typeof(UnitINI));
Debug.Log(player.speed);
}
// Update is called once per frame
void Update () {
}
}
Итогом стало выдача консолью следующей ошибки:
- Спойлер
- ArgumentException: Cannot deserialize JSON to new instances of type 'UnitINI.'
UnityEngine.JsonUtility.FromJson (System.String json, System.Type type) (at C:/buildslave/unity/build/Modules/JSONSerialize/Public/JsonUtility.bindings.cs:48)
UnitINI.Start () (at Assets/UnitINI.cs:20)
Перерыл много сайтов, смотря примеры, но только в текстах. Сунулся на Котодомик.рф, там был архив с примером сериализации-десериализации, но, во-первых, он устарел (был рассчитан на сторонние библиотеки для работы с json), а во-вторых, и это главное - уже удален.
Что я делаю не так?
Опять ралогинило...