Have been trying to parse this json file using go to get the Minimum and Maximum Temperature
of a given city.
{
"data": {
"current_condition": [
{
"cloudcover": "25",
"humidity": "56",
"observation_time": "01:33 PM",
"precipMM": "0.0",
"pressure": "1016",
"temp_C": "20",
"temp_F": "68",
"visibility": "10",
"weatherCode": "116",
"weatherDesc": [
{
"value": "Partly Cloudy"
}
],
"weatherIconUrl": [
{
"value": "http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0002_sunny_intervals.png"
}
],
"winddir16Point": "SSW",
"winddirDegree": "210",
"windspeedKmph": "7",
"windspeedMiles": "4"
}
],
"request": [
{
"query": "London, United Kingdom",
"type": "City"
}
],
"weather": [
{
"date": "2014-09-07",
"precipMM": "0.0",
"tempMaxC": "23",
"tempMaxF": "74",
"tempMinC": "10",
"tempMinF": "49",
"weatherCode": "119",
"weatherDesc": [
{
"value": "Cloudy"
}
],
"weatherIconUrl": [
{
"value": "http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png"
}
],
"winddir16Point": "N",
"winddirDegree": "355",
"winddirection": "N",
"windspeedKmph": "9",
"windspeedMiles": "6"
}
]
}
}
Have been successful using structures and decoding the json string.
Now i want to try using maps, such as map[string]interface{}
If u is of type map[string]interface{}
and the json is parsed into u,u["data"].(map[string]interface{})["weather"]
gives the value
http://api.worldweatheronline.com/free/v1/weather.ashx?q=london&format=json&num_of_days=1&key=8c52bb73c5f6160f5f3aa535d22184638372d22b [map[tempMaxC:23 tempMaxF:74 tempMinC:10 tempMinF:49 winddirection:N windspeedMiles:6 date:2014-09-07 precipMM:0.0 weatherCode:119 winddir16Point:N winddirDegree:355 weatherDesc:[map[value:Cloudy]] weatherIconUrl:[map[value:http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png]] windspeedKmph:9]]
whereas u["data"].(map[string]interface{})["weather"].(map[string]interface{})["tempMinC"]
,
gives me an panic: interface conversion: interface is []interface {}, not map[string]interface {}
Can someone explain what's happening?