I put a list of scriptables and saved it to json.
If you look at what’s saved, it’s saved well.
The saved json is as follows
[
{
"Quiz": "quiz1",
"correctAnswer": false,
"description": "des",
"name": "QuizList 38",
"hideFlags": 0
},
{
"Quiz": "Quiz2",
"correctAnswer": false,
"description": "des",
"name": "QuizList 34",
"hideFlags": 0
},
{
"Quiz": "Quiz001",
"correctAnswer": true,
"description": "des",
"name": "QuizList 31",
"hideFlags": 0
}
]
The code is as follows
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.IO;
using UnityEngine.Events;
using Newtonsoft;
using Newtonsoft.Json;
public class BattleSaveQuizJson : MonoBehaviour
{
private string FilePath;
public List<QuizList> Quiz;
public List<QuizList> savedQuizList;
public void QuizSaveJson()
{
FilePath = Path.Combine(Application.persistentDataPath, "SaveQuiz.Json");
string savedJson = File.ReadAllText(FilePath);
savedQuizList = JsonConvert.DeserializeObject<List<QuizList>>(savedJson);
}
}
It’s work. But error alram is apeears
I try this. I think Initilzation is worong.
savedQuizList = ScriptableObject.CreateInstance<List<QuizList>();
Visual studio say "Severity Code Description Project File Line Suppression State
Error CS0311 The type ‘System.Collections.Generic.List’ cannot be used as type parameter ‘T’ in the generic type or method ‘ScriptableObject.CreateInstance()’. There is no implicit reference conversion from ‘System.Collections.Generic.List’ to ‘UnityEngine.ScriptableObject’. Assembly-CSharp D:\unity\Mana’s Travel\Assets\Script\BattleSaveQuizJson.cs 41 Active
"
The warning message is as follows.
How can I solve this problem?