ToJson
Generate a JSON representation of the public fields of an object.
Read time 3 minutesLast updated 5 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.JSONSerializeModule
ToJson(Object)
Generate a JSON representation of the public fields of an object.
public static string ToJson(object obj)
Parameters
The object to convert to JSON form.
Returns
Type | Description |
|---|---|
| string | The object's data in JSON format. |
Remarks
Internally, this method uses the Unity serializer. The object you pass in and all its fields must meet the requirements for serialization by the Unity serializer. For the full list of these requirements, refer to Serialization rules in the manual.
ToJsonIf the object contains fields with references to other Unity objects, those references are serialized by recording the InstanceID for each referenced object. Because the Instance ID acts like a handle to the in-memory object instance, the JSON string can only be deserialized back during the same session of the Unity engine.
Note that while acccepts primitive types, instead of serializing them directly, it attempts to serialize their public instance fields, producing an empty object as a result. Similarly, passing an array does not produce a JSON array containing each element, but an object containing the public fields of the array object itself (of which there are none). To serialize the actual content of an array or primitive type, you must wrap it in a class or struct.
ToJsonToJsonExamples
using UnityEngine;public class PlayerState : MonoBehaviour{ public string playerName; public int lives; public float health; public string SaveToString() { return JsonUtility.ToJson(this); } // Given: // playerName = "Dr Charles" // lives = 3 // health = 0.8f // SaveToString returns: // {"playerName":"Dr Charles","lives":3,"health":0.8}}
ToJson(Object, bool)
Generate a JSON representation of the public fields of an object.
public static string ToJson(object obj, bool prettyPrint)
Parameters
Returns
Type | Description |
|---|---|
| string | The object's data in JSON format. |
Remarks
Internally, this method uses the Unity serializer. The object you pass in and all its fields must meet the requirements for serialization by the Unity serializer. For the full list of these requirements, refer to Serialization rules in the manual.
ToJsonIf the object contains fields with references to other Unity objects, those references are serialized by recording the InstanceID for each referenced object. Because the Instance ID acts like a handle to the in-memory object instance, the JSON string can only be deserialized back during the same session of the Unity engine.
Note that while acccepts primitive types, instead of serializing them directly, it attempts to serialize their public instance fields, producing an empty object as a result. Similarly, passing an array does not produce a JSON array containing each element, but an object containing the public fields of the array object itself (of which there are none). To serialize the actual content of an array or primitive type, you must wrap it in a class or struct.
ToJsonToJsonExamples
using UnityEngine;public class PlayerState : MonoBehaviour{ public string playerName; public int lives; public float health; public string SaveToString() { return JsonUtility.ToJson(this); } // Given: // playerName = "Dr Charles" // lives = 3 // health = 0.8f // SaveToString returns: // {"playerName":"Dr Charles","lives":3,"health":0.8}}