I have tried Serializing and Deserializing JSON in Unity using JsonUtility
and Newtonsoft.Json
. But neither of them works as expected.
The issue with
JsonUtility
is it gives empty string when converting object to JSON. When converting JSON string to custom class object, and printing class'sobject.value
it prints empty string. Irony is that it does not give any error.The issue with
Newtonsoft.Json
is 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