58 lines
1.1 KiB
Python

from pydantic import BaseModel
import json
class RegionNames(BaseModel):
fullName: str
shortName: str
displayName: str
primaryDisplayName: str
secondaryDisplayName: str
lastSearchName: str
class EssId(BaseModel):
sourceName: str
sourceId: int
class Country(BaseModel):
name: str
isoCode2: str
isoCode3: str
class HierarchyInfo(BaseModel):
country: Country
class Coordinates(BaseModel):
lat: float
long: float
class GaiaRegionResult(BaseModel):
index: int
gaiaId: int
type: str
regionNames: RegionNames
essId: EssId
coordinates: Coordinates
hierarchyInfo: HierarchyInfo
class SearchResults(BaseModel):
q: str
rid: str
rc: str
sr: list[GaiaRegionResult]
if __name__ == "__main__":
with open('locations_v3_search_example.json', 'r', encoding='utf-8') as json_file:
data = json.load(json_file)
results = SearchResults(**data)
print('\n'.join(
[result.regionNames.fullName for result in results.sr if result.type in ('CITY', 'NEIGHBORHOOD')])
)