I am try to use python to extract value, but I found a weird result. Following is part of my json variable
"weatherElement": [
 {
  "elementName": "ELEV",
  "elementValue": {
   "value": "20.0"
  }
 },
 {
  "elementName": "TEMP",
  "elementValue": {
   "value": "25.0"
  }
 },
 {
  "elementName": "D_TNT",
  "elementValue": {
   "value": "2019-11-22T02:10:00+08:00"
  }
 }
],
and following code is correct for getting value 25.0 which is temperature
for unit in data['records']['location']:
    # print(type(unit))  <---- output <dict>
    if unit['stationId'] == 'C0V490':
        for wea_unit in unit['weatherElement']: # unit['weatherElement'] is list
            if wea_unit['elementName'] == 'TEMP':
                print(type(wea_unit['elementValue'])) # is str
                return wea_unit['elementValue']
My question is why type(wea_unit['elementValue']) is str? 
I think it should be dict and I should use wea_unit['elementValue']['value'] to get '25.0', but it is wrong. Are there anyone know what mistake I made? Thanks!
edit:
following is example code which can run directly
import json
def parse_json_to_dataframe(data):
    for unit in data['records']['location']:
        # print(type(unit))
        if unit['stationId'] == 'C0A560':
            for wea_unit in unit['weatherElement']: # unit['weatherElement'] is list
                if wea_unit['elementName'] == 'TEMP':
                    print(type(wea_unit['elementValue']))
                    return wea_unit['elementValue']
v = {"success":"true",
"result": {"resource_id": "O-A0001-001", 
"fields": [{"id": "lat", "type": "Double"},
{"id": "lon", "type": "Double"}, 
{"id": "locationName", "type": "String"}, 
{"id": "stationId", "type": "String"}, 
{"id": "description", "type": "String"}, 
{"id": "elementName", "type": "String"}, 
{"id": "elementValue", "type": "Double"}, 
{"id": "parameterName", "type": "String"}, 
{"id": "parameterValue", "type": "String"}]}, # result end
"records": {"location": [{"lat": "24.778333", 
"lon": "121.494583",
"locationName": "福山", 
"stationId": "C0A560", 
"time": {"obsTime": "2019-11-22 22:00:00"}, 
"weatherElement": [
{"elementName": "ELEV", "elementValue": "405.0"}, 
{"elementName": "WDIR", "elementValue": "0"}, 
{"elementName": "WDSD", "elementValue": "0.0"}, 
{"elementName": "TEMP", "elementValue": "19.6"}], 
"parameter": [
{"parameterName": "CITY_SN", "parameterValue": "06"}, 
{"parameterName": "TOWN_SN", "parameterValue": "061"}]}]}}
temp = parse_json_to_dataframe(v)
print(temp)
