Been trying to solve this for a while now. Hoping someone can help!
From an API, this JSON data (can be multiple objects) is returned in this format:
{"0":{"character_name":"Ludwig_VanCover2","cid":"6","level":"84","xp":"100000","area":"baseGame_0000_mainStartingArea","x":"232.863","y":"44.8532","z":"198.191","rotation":"197.691","charClass":"Developer","guild":"<The Eternal Order>","active_title":"Developer","last_login":"2020-10-26 16:54:18"},"1":{"character_name":"Ludwig_VanCover2","cid":"7","level":"84","xp":"100000","area":"baseGame_0000_mainStartingArea","x":"232.863","y":"44.8532","z":"198.191","rotation":"197.691","charClass":"Developer","guild":"<The Eternal Order>","active_title":"Developer","last_login":"2020-10-26 16:54:18"}}
My JSON CS helper file is:
AreaPlayerJSON.cs
public class AreaPlayersJSON
{
public string character_name { get; set; }
public string cid { get; set; }
public string level { get; set; }
public string xp { get; set; }
public string area { get; set; }
public string x { get; set; }
public string y { get; set; }
public string z { get; set; }
public string rotation { get; set; }
public string charClass { get; set; }
public string guild { get; set; }
public string active_title { get; set; }
public string last_login { get; set; }
}
public class Root {
public List<AreaPlayersJSON> AreaPlayersJSON { get; set; }
}
In my project, the specific area I am having problems at is:
IEnumerator renderNearbyAreaChars(){
var userSession = StaticClass.userInternalSession;
GameObject MMODATABASE = GameObject.Find("MMORPG");
DATABASE mmoDB = MMODATABASE.GetComponent<DATABASE>();
var characterLoadAPI = mmoDB.gameServer + "api/_game/localChar";
WWWForm form = new WWWForm();
form.AddField("sessionID", userSession);
form.AddField("x", mCharX.ToString());
form.AddField("y", mCharY.ToString());
form.AddField("area", mCharArea);
UnityWebRequest www = UnityWebRequest.Post(characterLoadAPI, form);
yield return www.SendWebRequest();
if (www.isNetworkError) {
Debug.Log(www.error);
} else {
//var areaDataChars = JsonConvert.DeserializeObject<List<AreaPlayersJSON>>(www.downloadHandler.text);
AreaPlayersJSON areaDataC = JsonConvert.DeserializeObject<AreaPlayersJSON>(www.downloadHandler.text);
Debug.Log(www.downloadHandler.text);
Debug.Log(areaDataC.character_name);
}
}
areaDataC.character_name is returning null. This is my first time working with JSON in C#. This is just a little personal project I am doing for fun. I have tried using the same code with removed.
Thank you for a nudge in the right direction!