Я сохраняю много данных в json.
json файл выглдяит так:
{"arrow":-5.0,"pos":2.0,"speed":1,"section":0,"empty":""}{"arrow":-4.0,"pos":1.0,"speed":1,"section":0,"empty":""}{"arrow":-3.0,"pos":1.0,"speed":1,"section":0,"empty":""}{"arrow":-2.0,"pos":0.0,"speed":1,"section":0,"empty":""}
Если читать файл с помощью ReadAllText то выходит ошибка. Я если читать другими способами то он выводит просто что
храниться в файле.
Мне надо все эти значение занести в массив.
Мой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Net;
public class SaveToJson : MonoBehaviour
{
public SaveData data = new SaveData();
private SaveData _data = new SaveData();
private string path;
public int ac, pc, spc, sc;
void Awake()
{
path = Application.streamingAssetsPath + "/file.json";
}
private void Start()
{
}
public void Save(float arrow, float pos, int speed, int section)
{
ac++;
pc++;
spc++;
sc++;
data.arrow = arrow;
data.pos = pos;
data.speed = speed;
data.section = section;
File.AppendAllText(path, JsonUtility.ToJson(data));
}
public float GetArrow()
{
_data = JsonUtility.FromJson<SaveData>(File.ReadAllText(path));
return _data.arrow;
}
public float GetPos()
{
_data = JsonUtility.FromJson<SaveData>(File.ReadAllText(path));
return _data.pos;
}
public void Delete()
{
File.WriteAllText(path, data.empty);
}
[System.Serializable]
public class SaveData
{
public float arrow;
public float pos;
public int speed;
public int section;
public string empty;
}
}