JSON serialization is the process of converting Unity objects or data into a JSON string format that can be saved or sent, and later converted back to objects.
Click to reveal answer
beginner
Which Unity class is commonly used for JSON serialization?
Unity uses the JsonUtility class to convert objects to JSON strings and back.
Click to reveal answer
beginner
How do you convert an object to a JSON string in Unity?
Use JsonUtility.ToJson(yourObject) to get a JSON string representing your object.
Click to reveal answer
beginner
How do you convert a JSON string back to an object in Unity?
Use JsonUtility.FromJson<T>(jsonString) where T is the type of the object you want to create.
Click to reveal answer
intermediate
What is a limitation of Unity's JsonUtility for serialization?
JsonUtility only works with classes or structs marked as serializable and does not support dictionaries or complex types well.
Click to reveal answer
Which method converts an object to a JSON string in Unity?
AJsonUtility.ParseJson()
BJsonUtility.FromJson()
CJsonConvert.SerializeObject()
DJsonUtility.ToJson()
✗ Incorrect
JsonUtility.ToJson() converts an object to a JSON string.
What must a class have to be serialized by JsonUtility in Unity?
AInherit from MonoBehaviour
BBe marked with [Serializable]
CBe a static class
DImplement ISerializable
✗ Incorrect
Classes must be marked with [Serializable] to be serialized by JsonUtility.
Which of these is NOT supported well by Unity's JsonUtility?
ADictionaries
BStructs
CSimple classes
DArrays
✗ Incorrect
Dictionaries are not supported well by JsonUtility.
How do you deserialize a JSON string to an object of type PlayerData?
AJsonUtility.FromJson<PlayerData>(jsonString)
BJsonUtility.ToJson<PlayerData>(jsonString)
CJsonUtility.Deserialize<PlayerData>(jsonString)
DJsonUtility.Parse<PlayerData>(jsonString)
✗ Incorrect
Use JsonUtility.FromJson(jsonString) to deserialize.
What is the output type of JsonUtility.ToJson()?
AJSON object
Bbyte[]
Cstring
Dobject
✗ Incorrect
JsonUtility.ToJson() returns a string containing JSON text.
Explain how JSON serialization works in Unity using JsonUtility.
Think about converting objects to strings and back.
You got /4 concepts.
What are some limitations of Unity's JsonUtility for JSON serialization?
Consider what data structures JsonUtility cannot handle well.
You got /4 concepts.
Practice
(1/5)
1.
What is the main purpose of JSON serialization in Unity?
easy
A. Create 3D models from code
B. Convert objects into text format and back
C. Compile scripts faster
D. Optimize game performance automatically
Solution
Step 1: Understand JSON serialization
JSON serialization means turning objects into text so they can be saved or sent.
Step 2: Recognize Unity's use
Unity uses JSON serialization to save object data as text and load it back.
Final Answer:
Convert objects into text format and back -> Option B
Quick Check:
JSON serialization = Convert objects to text and back [OK]
Hint: Think: saving objects as readable text [OK]
Common Mistakes:
Confusing serialization with 3D modeling
Thinking it speeds up script compilation
Assuming it optimizes performance automatically
2.
Which of the following is the correct way to serialize an object player to JSON in Unity?
Player player = new Player();
easy
A. string json = JsonUtility.ToJson(player);
B. string json = Json.Serialize(player);
C. string json = JsonUtility.FromJson(player);
D. string json = player.ToJson();
Solution
Step 1: Identify Unity's serialization method
Unity uses JsonUtility.ToJson() to convert objects to JSON text.
Step 2: Check method usage
JsonUtility.ToJson(player) correctly serializes the player object.
Final Answer:
string json = JsonUtility.ToJson(player); -> Option A
Quick Check:
Serialize with JsonUtility.ToJson() [OK]
Hint: Use JsonUtility.ToJson() to serialize objects [OK]
Common Mistakes:
Using FromJson() instead of ToJson()
Calling non-existent Json.Serialize() method
Trying to call ToJson() on the object itself
3.
Given the following code, what will be the output?
[System.Serializable]
public class Player {
public string name = "Alex";
public int score = 10;
}
Player player = new Player();
string json = JsonUtility.ToJson(player);
Debug.Log(json);
medium
A. {"name":"Alex","score":10}
B. {"name":"Alex"}
C. {"score":10}
D. Error: Player class not serializable
Solution
Step 1: Check class serialization
The Player class is marked [System.Serializable], so it can be converted to JSON.
Step 2: Understand JsonUtility.ToJson output
It converts all public fields to JSON key-value pairs, so name and score appear.
Final Answer:
{"name":"Alex","score":10} -> Option A
Quick Check:
Serializable class fields appear in JSON [OK]
Hint: Serializable class fields become JSON keys [OK]
Common Mistakes:
Forgetting [System.Serializable] attribute
Expecting private fields to appear
Thinking only one field is serialized
4.
What is wrong with this code snippet for deserializing JSON into a Player object?
string json = "{\"name\":\"Sam\", \"score\":15}";
Player player = JsonUtility.ToJson(json);
medium
A. JSON string is not properly formatted
B. Player class must be private
C. Using ToJson() instead of FromJson() for deserialization
D. Missing semicolon after JSON string
Solution
Step 1: Identify method misuse
JsonUtility.ToJson() is for serialization, not deserialization.
Step 2: Correct method for deserialization
Use JsonUtility.FromJson<Player>(json) to convert JSON text back to Player object.
Final Answer:
Using ToJson() instead of FromJson() for deserialization -> Option C
Quick Check:
Deserialize with FromJson(), not ToJson() [OK]
Hint: Use FromJson() to convert JSON text to object [OK]
Common Mistakes:
Mixing ToJson() and FromJson() methods
Assuming JSON string format is wrong
Thinking class visibility affects serialization
5.
You want to save a list of Player objects to JSON and load them back later. Which approach correctly handles this in Unity?
hard
A. Serialize the list directly with JsonUtility.ToJson(playersList)
B. Use JsonUtility.FromJson<List<Player>>(json) to deserialize
C. Serialize each Player separately and concatenate JSON strings
D. Wrap the list in a serializable container class and serialize that
Solution
Step 1: Understand Unity's JsonUtility limitation
JsonUtility cannot serialize lists directly; it needs a wrapper class.
Step 2: Use a container class
Create a [System.Serializable] class with a public List<Player> field and serialize that.
Final Answer:
Wrap the list in a serializable container class and serialize that -> Option D
Quick Check:
Wrap lists in container class for JSON serialization [OK]
Hint: Wrap lists in a class before serializing [OK]
Common Mistakes:
Trying to serialize lists directly
Concatenating JSON strings manually
Using FromJson with generic List type
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.