MIF_E31222569/Assets/ToothyV/Scripts/Backend/JsonHelper.cs

38 lines
1.0 KiB
C#

using UnityEngine;
/// <summary>
/// Helper class untuk menangani deserialisasi array JSON menggunakan UnityEngine.JsonUtility.
/// </summary>
public static class JsonHelper
{
#region Methods
/// <summary>
/// Mengkonversi JSON string ke dalam array objek bertipe <typeparamref name="T"/>.
/// </summary>
/// <typeparam name="T">Tipe data dari objek yang akan dikonversi.</typeparam>
/// <param name="json">JSON string dengan format {"items": [...]}</param>
/// <returns>Array objek bertipe <typeparamref name="T"/></returns>
public static T[] FromJson<T>(string json)
{
Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(json);
return wrapper.items;
}
#endregion
#region Wrapper Class
/// <summary>
/// Kelas pembungkus internal untuk deserialisasi array JSON.
/// </summary>
/// <typeparam name="T">Tipe objek dalam array.</typeparam>
[System.Serializable]
private class Wrapper<T>
{
public T[] items;
}
#endregion
}