Заполните данные JSON в раскрывающемся списке в Unity, используя C # - PullRequest
0 голосов
/ 29 июня 2019

У меня есть файл JSON с городами из Openweathermap. И хотите поместить названия городов в выпадающий список в Unity, используя C #. Как это сделать?

файл JSON

{
     "id": 2163306,
     "name": "Holgate",
     "country": "AU",
     "coord": {
       "lon": 151.416672,
       "lat": -33.400002
     }
   },
   {
     "id": 2164949,
     "name": "Gooramadda",
     "country": "AU",
     "coord": {
       "lon": 146.550003,
       "lat": -36
     }
   },
   {
     "id": 2157716,
     "name": "Miepoll",
     "country": "AU",
     "coord": {
       "lon": 145.466675,
       "lat": -36.616669
     }
   },
   {
     "id": 2148406,
     "name": "Steiglitz",
     "country": "AU",
     "coord": {
       "lon": 144.183334,
       "lat": -37.883331
     }
   },

1 Ответ

0 голосов
/ 29 июня 2019

Используя Unity JsonUtility, вам придется определить полную структуру, прежде чем вы сможете десериализовать ее.

[Serializable]
public class Data
{
    public string id;
    public string name;
    public string country;
    public Coord coord;
}

[Serializable]
public class Coord
{
    public float lon;
    public float lat;
}

Data myData = JsonUtility.FromJson<Data>(json);

Лично я предпочитаю использовать Json.Net , когда вас интересует только часть структуры json.

Вместо этого вы могли бы сделать следующее:

JObject jRoot = JObject.Parse(json);
foreach (JObject jCity in jRoot)
{
    string cityName = jCity["name"].Value<string>();
    // add cityName to drop down list
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...