Синтаксис:
Используется javascript
{
"coord":{
"lon":65.53,
"lat":57.15
},
"weather":[
{
"id":804,
"main":"Clouds",
"description":"overcast clouds",
"icon":"04n"
}
],
"base":"stations",
"main":{
"temp":290.15,
"feels_like":283.03,
"temp_min":290.15,
"temp_max":290.15,
"pressure":1012,
"humidity":17
},
"visibility":10000,
"wind":{
"speed":6,
"deg":220
},
"clouds":{
"all":88
},
"dt":1587915869,
"sys":{
"type":1,
"id":8988,
"country":"RU",
"sunrise":1587859236,
"sunset":1587913823
},
"timezone":18000,
"id":1488754,
"name":"Tyumen",
"cod":200
}
"coord":{
"lon":65.53,
"lat":57.15
},
"weather":[
{
"id":804,
"main":"Clouds",
"description":"overcast clouds",
"icon":"04n"
}
],
"base":"stations",
"main":{
"temp":290.15,
"feels_like":283.03,
"temp_min":290.15,
"temp_max":290.15,
"pressure":1012,
"humidity":17
},
"visibility":10000,
"wind":{
"speed":6,
"deg":220
},
"clouds":{
"all":88
},
"dt":1587915869,
"sys":{
"type":1,
"id":8988,
"country":"RU",
"sunrise":1587859236,
"sunset":1587913823
},
"timezone":18000,
"id":1488754,
"name":"Tyumen",
"cod":200
}
и скрипт-парсер, который печатает каждый параметр из json в консоль unity
Синтаксис:
Используется csharp
using System.IO;
using UnityEngine;
public class Weather : MonoBehaviour
{
public int apiKey;
public string cityName;
public WeatherJsonData weatherJsonData;
private string jsonData;
void Start()
{
jsonData = File.ReadAllText(@"c:\owm.json");
weatherJsonData = JsonUtility.FromJson<WeatherJsonData>(jsonData);
JsonUtility.FromJsonOverwrite(jsonData, weatherJsonData);
print(weatherJsonData.id + " id");
print(weatherJsonData.main + " main");
print(weatherJsonData.description + " desc");
print(weatherJsonData.icon + " icon");
print(weatherJsonData.temp + " temp");
print(weatherJsonData.temp_min + " temp_nim");
print(weatherJsonData.temp_max + " temp_max");
print(weatherJsonData.feels_like + " feels_like");
print(weatherJsonData.humidity + " humidity");
print(weatherJsonData.speed + " speed");
print(weatherJsonData.deg + " deg");
print(weatherJsonData.all + " all");
}
}
public class WeatherJsonData
{
//weather
public int id;
public string main;
public string description;
public string icon;
//main
public float temp;
public float temp_min;
public float temp_max;
public float feels_like;
public float humidity;
//wind
public float speed;
public float deg;
//clouds
public float all;
}
using UnityEngine;
public class Weather : MonoBehaviour
{
public int apiKey;
public string cityName;
public WeatherJsonData weatherJsonData;
private string jsonData;
void Start()
{
jsonData = File.ReadAllText(@"c:\owm.json");
weatherJsonData = JsonUtility.FromJson<WeatherJsonData>(jsonData);
JsonUtility.FromJsonOverwrite(jsonData, weatherJsonData);
print(weatherJsonData.id + " id");
print(weatherJsonData.main + " main");
print(weatherJsonData.description + " desc");
print(weatherJsonData.icon + " icon");
print(weatherJsonData.temp + " temp");
print(weatherJsonData.temp_min + " temp_nim");
print(weatherJsonData.temp_max + " temp_max");
print(weatherJsonData.feels_like + " feels_like");
print(weatherJsonData.humidity + " humidity");
print(weatherJsonData.speed + " speed");
print(weatherJsonData.deg + " deg");
print(weatherJsonData.all + " all");
}
}
public class WeatherJsonData
{
//weather
public int id;
public string main;
public string description;
public string icon;
//main
public float temp;
public float temp_min;
public float temp_max;
public float feels_like;
public float humidity;
//wind
public float speed;
public float deg;
//clouds
public float all;
}
Но выводит он только это:
https://prnt.sc/s6t24x
Что в скрипте не так, почему id берет из предпоследней строки json, почему остальные параметры пустые?