약간의 도움이 필요합니다. Json을 사용하여 일부 게임 진행률을 저장하고 있는데 문제가 하나만있는 경우를 제외하고는 모든 것이 작동합니다. 새 값을 저장하려고하면 이전 값보다 우선하지만 기존 값을 무시하고 새 값을 추가하고 싶지 않습니다. 아무도 작은 도움을 줄 수 있습니까? 경우 ArgumentException을JSON (Unity3d)에 새 값 추가
string fromJson = File.ReadAllText(Application.dataPath + "/ships.json");
data = JsonMapper.ToObject(fromJson);
data.Add(new SavedShips(shipsCount));
File.WriteAllText(Application.dataPath + "/ships.json", data.ToString());
그러나 가지고 : : 여기, LiTJson를 사용하여 코드 해요 :
SavedShips savedShips = new SavedShips(shipsCount);
JsonData data = JsonMapper.ToJson(savedShips);
File.WriteAllText(Application.dataPath + "/ships.json", data.ToString());
내가 이전 값을로드하고 새로운이 뭔가를 추가하는 시도 JsonData로 지정된 객체를 래핑 할 수 없습니다 . 감사합니다.
'SavedShips'란 무엇이며 shipsCount와는 어떤 관계가 있습니까? – Maakep
Json을 직렬화 할 때 Object를 가져 와서 Json 형식의 텍스트로 변환합니다. 객체가 1 개이고 직렬화하고 이전 파일을 덮어 쓰면 지금하는 것처럼 파일에서 하나의 객체 만 얻을 수 있습니다. 당신이하고 싶은 것은 모든 선박을 목록에 추가 한 다음 목록을 json으로 직렬화하는 것입니다. 시도해 보면 파일로 저장하기 전에 json으로 직렬화 한 적이없는 것 같습니까? – Maakep
이전 값을 가져오고 새 값을 추가하여이 문제를 해결할 수있는 또 다른 방법이 있지만 지금은 WriteAllText를 AppendAllText로 바꾸면 문제가 해결되는 것 같습니다. 탄스크의 도움! – Yupi