I have tried Serializing and Deserializing JSON in Unity using JsonUtility and Newtonsoft.Json. But neither of them works as expected.
The issue with
JsonUtilityis it gives empty string when converting object to JSON. When converting JSON string to custom class object, and printing class'sobject.valueit prints empty string. Irony is that it does not give any error.The issue with
Newtonsoft.Jsonis it does not work with Android and iOS builds and builds that uses IL2CPP.
C# Code
public class AddUsers : MonoBehaviour
{
public void ConvertToJSONSample()
{
UserDetails userDetails1 = new UserDetails()
{
Id = "0001",
Name = "John"
};
string JsonString = JsonUtility.ToJson(userDetails1);
print(JsonString); ;
UserDetails userDetails2 = JsonUtility.FromJson<UserDetails>(JsonString);
print("User's Name is: " + userDetails2.Name);
}
}
[Serializable]
public class UserDetails
{
public string Id { get; set; }
public string Name { get; set; }
}
Output
