유니티 JsonUtility의 FromJson 함수만으로는
서버에서 넘어온 Json Array의 데이터를 Parsing하기 어렵다고 한다.
https://stackoverflow.com/questions/36239705/serialize-and-deserialize-json-and-json-array-in-unity
그래서 방법을 찾아보다가 위 링크에서 JsonHelper 클래스를 Get했다..!
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class JsonHelper 
{
    public static T[] FromJson<T>(string json)
    {
        Wrapper<T> wrapper = UnityEngine.JsonUtility.FromJson<Wrapper<T>>(json);
        return wrapper.data;
    }
    
    public static string ToJson<T>(T[] array)
    {
        Wrapper<T> wrapper = new Wrapper<T>();
        wrapper.data = array;
        return JsonUtility.ToJson(wrapper);
    }
    [Serializable]
    private class Wrapper<T>
    {
        public T[] data;
    }    
}
사용할 땐 이런 식으로 코드를 작성하면 된다
var animalData = JsonHelper.FromJson<AnimalDataFromServer>(request.downloadHandler.text);
Debug.Log($"animalData = ${animalData.Length}");
for(int i=0; i < animalData.Length; i++)
{
    Debug.Log($"animalData[i].name = {animalData[i].name}, animalData[i].type = {animalData[i].animalType}");
}
근데 사용해보니 몇 가지 고려해야 할 사항이 있었다.
아래 사진은 Postman을 통해 확인한 API에서 반환하는 Json Data

위 필드명을 참고해서 다음과 같이 클래스를 만들었다
이름이 같지 않으면, Null 값으로 들어간다고 한다.
    [System.Serializable]
    public class AnimalDataFromServer
    {
        public string name;
        public int tier;
        public string color;
        public string animalType;
        public string headItem;
        public string bodyItem;
        public string footItem;
        public string pattern;
    }
wrapper.data 등의 부분에서 data 대신 wrapper.Items 와 같이 배열의 이름이 들어가야 한다.
여기도 참고해보세요!!!
https://github.com/LitJSON/litjson