Значения в jdata
могут принимать значение KeyValuePair<string, string>
самый простой способ - это простой конструктор для вашего класса CrewMember
например. что-то вроде
[Serializable]
public class CrewMember
{
public string Name;
public CrewMember(string name)
{
Name = name;
}
}
Чем вам не нужен item.key
, так как это будет имя переменной (в данном случае Name
), вместо этого вы хотите item.Value
.
Ваш код JSON может выглядеть как
JsonData jdata = JsonMapper.ToObject(jsonHolder);
PlayerCrew.playerCrewManifest.Clear();
foreach (KeyValuePair<string,string> item in jdata)
{
PlayerCrew.playerCrewManifest.Add(item.Value, new CrewMember(item.Value));
Debug.Log(item.Value);
}