{
"name": "John",
"age": 30,
"isStudent": false
}
{
"person": {
"name": "Alice",
"contact": {
"email": "alice@example.com",
"phone": "123-456-7890"
}
}
}
Unity는 JSON 작업을 위해 JsonUtility 클래스를 기본 제공하며, 간단한 데이터 직렬화와 역직렬화를 처리할 수 있음
using UnityEngine;
[System.Serializable]
public class PlayerData
{
public string name;
public int score;
}
public class JSONExample : MonoBehaviour
{
void Start()
{
PlayerData player = new PlayerData {name = "Alice", score = 100};
string jsonData = JsonUtility.ToJson(player);
Debug.Log(jsonData); // {"name":"Alice","score":100}
}
}
using UnityEngine;
public class JSONExample : MonoBehaviour
{
void Start()
{
string jsonData = "{\"name\":\"Alice\",\"score\":100}";
PlayerData player = JsonUtility.FromJson<PlayerData>(jsonData);
Debug.Log(player.name); // Alice
Debug.Log(player.score); // 100
}
}
[System.Serializable]
public class Player
{
public string name;
public int score;
public Inventory inventory;
}
[System.Serializable]
public class Inventory
{
public string itemName;
public int quantity;
}
string json = "{\"name\":\"John\",\"score\":100,\"inventory\":{\"itemName\":\"Sword\",\"quantity\":1}}";
Player player = JsonUtility.FromJson<Player>(json);
Debug.Log(player.inventory.itemName); // 출력: Sword
[System.Serializable]
public class Player
{
public string name;
public int score;
}
[System.Serializable]
public class PlayerList
{
public Player[] players;
}
string json = "{\"players\":[{\"name\":\"John\",\"score\":100},{\"name\":\"Alice\",\"score\":200}]}";
PlayerList playerList = JsonUtility.FromJson<PlayerList>(json);
Debug.Log(playerList.players[0].name); // 출력: John
/// <summary>
/// 두 숫자의 합을 반환하는 메서드입니다.
/// </summary>
/// <param name="a">첫 번째 숫자</param>
/// <param name="b">두 번째 숫자</param>
/// <returns>두 숫자의 합</returns>
public int Add(int a, int b)
{
return a + b;
}
<summary>
: 클래스, 메서드, 속성, 필드 등의 설명 작성./// <summary>
/// 사용자의 이름을 반환합니다.
/// </summary>
public string GetName() { ... }
<param>
: 메서드의 매개변수를 설명./// <param name="input">처리할 문자열</param>
<returns>
: 메서드가 반환하는 값을 설명./// <returns>문자열의 길이</returns>
<remarks>
: 추가적인 설명이나 주석./// <remarks>
/// 이 메서드는 대소문자를 구분하지 않습니다.
/// </remarks>
<example>
: 사용 예제 제공./// <example>
/// <code>
/// int result = Add(3, 5);
/// Console.WriteLine(result); // 8 출력
/// </code>
/// </example>
<exception>
: 메서드가 발생시킬 수 있는 예외 설명./// <exception cref="ArgumentNullException">
/// input이 null일 경우 예외 발생
/// </exception>
Type type = typeof(MyClass);
GameObject obj = new GameObject();
Rigidbody rb = (Rigidbody)obj.GetComponent(typeof(Rigidbody));
EditorWindow.GetWindow(typeof(MyEditorWindow));
// MyEditorWindow 타입의 에디터 윈도우를 생성하거나 반환