diff --git a/.vscode/settings.json b/.vscode/settings.json index 33358590..e96a22cd 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,6 +16,7 @@ "nullcast", "nullcasted", "Pageable", + "parentid", "PKCE", "Shinya", "sublist", @@ -30,6 +31,7 @@ "unliked", "unmute", "unmuted", + "woeid", "writeln" ], "files.trimTrailingWhitespace": true, diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c187f92..c0e41813 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Release Note +## v4.6.0 + +- Supported `Trends` service. ([#582](https://github.com/twitter-dart/twitter-api-v2/issues/582)) + - `GET /1.1/trends/place.json` + - `GET /1.1/trends/available.json` + - `GET /1.1/trends/closest.json` + ## v4.5.0 - Supported `Geo` service. ([#578](https://github.com/twitter-dart/twitter-api-v2/issues/578)) diff --git a/lib/src/service/geo/geo_service.dart b/lib/src/service/geo/geo_service.dart index 3029a95e..d5a46ccf 100644 --- a/lib/src/service/geo/geo_service.dart +++ b/lib/src/service/geo/geo_service.dart @@ -2,9 +2,10 @@ // Redistribution and use in source and binary forms, with or without // modification, are permitted provided the conditions. -// Package imports: +// Dart imports: import 'dart:convert'; +// Package imports: import 'package:twitter_api_core/twitter_api_core.dart' as core; // Project imports: diff --git a/lib/src/service/trends/trend_data.dart b/lib/src/service/trends/trend_data.dart new file mode 100644 index 00000000..7b62af5d --- /dev/null +++ b/lib/src/service/trends/trend_data.dart @@ -0,0 +1,28 @@ +// Copyright 2022 Kato Shinya. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided the conditions. + +// ignore_for_file: invalid_annotation_target + +// Package imports: +import 'package:freezed_annotation/freezed_annotation.dart'; + +// Project imports: +import '../common/data.dart'; + +part 'trend_data.freezed.dart'; +part 'trend_data.g.dart'; + +@freezed +class TrendData with _$TrendData implements Data { + @JsonSerializable(includeIfNull: false) + const factory TrendData({ + /// The name of this trend. + /// + /// It includes "#" as prefix if it's a hashtag trend. + required String name, + }) = _TrendData; + + factory TrendData.fromJson(Map json) => + _$TrendDataFromJson(json); +} diff --git a/lib/src/service/trends/trend_data.freezed.dart b/lib/src/service/trends/trend_data.freezed.dart new file mode 100644 index 00000000..95353802 --- /dev/null +++ b/lib/src/service/trends/trend_data.freezed.dart @@ -0,0 +1,156 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target + +part of 'trend_data.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +TrendData _$TrendDataFromJson(Map json) { + return _TrendData.fromJson(json); +} + +/// @nodoc +mixin _$TrendData { + /// The name of this trend. + /// + /// It includes "#" as prefix if it's a hashtag trend. + String get name => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $TrendDataCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $TrendDataCopyWith<$Res> { + factory $TrendDataCopyWith(TrendData value, $Res Function(TrendData) then) = + _$TrendDataCopyWithImpl<$Res>; + $Res call({String name}); +} + +/// @nodoc +class _$TrendDataCopyWithImpl<$Res> implements $TrendDataCopyWith<$Res> { + _$TrendDataCopyWithImpl(this._value, this._then); + + final TrendData _value; + // ignore: unused_field + final $Res Function(TrendData) _then; + + @override + $Res call({ + Object? name = freezed, + }) { + return _then(_value.copyWith( + name: name == freezed + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +abstract class _$$_TrendDataCopyWith<$Res> implements $TrendDataCopyWith<$Res> { + factory _$$_TrendDataCopyWith( + _$_TrendData value, $Res Function(_$_TrendData) then) = + __$$_TrendDataCopyWithImpl<$Res>; + @override + $Res call({String name}); +} + +/// @nodoc +class __$$_TrendDataCopyWithImpl<$Res> extends _$TrendDataCopyWithImpl<$Res> + implements _$$_TrendDataCopyWith<$Res> { + __$$_TrendDataCopyWithImpl( + _$_TrendData _value, $Res Function(_$_TrendData) _then) + : super(_value, (v) => _then(v as _$_TrendData)); + + @override + _$_TrendData get _value => super._value as _$_TrendData; + + @override + $Res call({ + Object? name = freezed, + }) { + return _then(_$_TrendData( + name: name == freezed + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$_TrendData implements _TrendData { + const _$_TrendData({required this.name}); + + factory _$_TrendData.fromJson(Map json) => + _$$_TrendDataFromJson(json); + + /// The name of this trend. + /// + /// It includes "#" as prefix if it's a hashtag trend. + @override + final String name; + + @override + String toString() { + return 'TrendData(name: $name)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_TrendData && + const DeepCollectionEquality().equals(other.name, name)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => + Object.hash(runtimeType, const DeepCollectionEquality().hash(name)); + + @JsonKey(ignore: true) + @override + _$$_TrendDataCopyWith<_$_TrendData> get copyWith => + __$$_TrendDataCopyWithImpl<_$_TrendData>(this, _$identity); + + @override + Map toJson() { + return _$$_TrendDataToJson( + this, + ); + } +} + +abstract class _TrendData implements TrendData { + const factory _TrendData({required final String name}) = _$_TrendData; + + factory _TrendData.fromJson(Map json) = + _$_TrendData.fromJson; + + @override + + /// The name of this trend. + /// + /// It includes "#" as prefix if it's a hashtag trend. + String get name; + @override + @JsonKey(ignore: true) + _$$_TrendDataCopyWith<_$_TrendData> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/src/service/trends/trend_data.g.dart b/lib/src/service/trends/trend_data.g.dart new file mode 100644 index 00000000..d010b50a --- /dev/null +++ b/lib/src/service/trends/trend_data.g.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ignore_for_file: non_constant_identifier_names + +part of 'trend_data.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_TrendData _$$_TrendDataFromJson(Map json) => $checkedCreate( + r'_$_TrendData', + json, + ($checkedConvert) { + final val = _$_TrendData( + name: $checkedConvert('name', (v) => v as String), + ); + return val; + }, + ); + +Map _$$_TrendDataToJson(_$_TrendData instance) => + { + 'name': instance.name, + }; diff --git a/lib/src/service/trends/trending_location_data.dart b/lib/src/service/trends/trending_location_data.dart new file mode 100644 index 00000000..4b6a9f28 --- /dev/null +++ b/lib/src/service/trends/trending_location_data.dart @@ -0,0 +1,39 @@ +// Copyright 2022 Kato Shinya. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided the conditions. + +// ignore_for_file: invalid_annotation_target + +// Package imports: +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:twitter_api_core/twitter_api_core.dart'; + +// Project imports: +import '../common/data.dart'; + +part 'trending_location_data.freezed.dart'; +part 'trending_location_data.g.dart'; + +@freezed +class TrendingLocationData with _$TrendingLocationData implements Data { + @JsonSerializable(includeIfNull: false) + const factory TrendingLocationData({ + /// The identifier of location for trending topics. + @JsonKey(name: 'woeid') required int id, + + /// The identifier for parent location. + @JsonKey(name: 'parentid') required int parentId, + + /// The name of this location. + required String name, + + /// The country name of this location. + @JsonKey(name: 'country') required String countryName, + + /// The country code of this location. + @JsonKey(name: 'countryCode') required Country? country, + }) = _TrendingLocationData; + + factory TrendingLocationData.fromJson(Map json) => + _$TrendingLocationDataFromJson(json); +} diff --git a/lib/src/service/trends/trending_location_data.freezed.dart b/lib/src/service/trends/trending_location_data.freezed.dart new file mode 100644 index 00000000..d5e579ae --- /dev/null +++ b/lib/src/service/trends/trending_location_data.freezed.dart @@ -0,0 +1,282 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target + +part of 'trending_location_data.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +TrendingLocationData _$TrendingLocationDataFromJson(Map json) { + return _TrendingLocationData.fromJson(json); +} + +/// @nodoc +mixin _$TrendingLocationData { + /// The identifier of location for trending topics. + @JsonKey(name: 'woeid') + int get id => throw _privateConstructorUsedError; + + /// The identifier for parent location. + @JsonKey(name: 'parentid') + int get parentId => throw _privateConstructorUsedError; + + /// The name of this location. + String get name => throw _privateConstructorUsedError; + + /// The country name of this location. + @JsonKey(name: 'country') + String get countryName => throw _privateConstructorUsedError; + + /// The country code of this location. + @JsonKey(name: 'countryCode') + Country? get country => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $TrendingLocationDataCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $TrendingLocationDataCopyWith<$Res> { + factory $TrendingLocationDataCopyWith(TrendingLocationData value, + $Res Function(TrendingLocationData) then) = + _$TrendingLocationDataCopyWithImpl<$Res>; + $Res call( + {@JsonKey(name: 'woeid') int id, + @JsonKey(name: 'parentid') int parentId, + String name, + @JsonKey(name: 'country') String countryName, + @JsonKey(name: 'countryCode') Country? country}); +} + +/// @nodoc +class _$TrendingLocationDataCopyWithImpl<$Res> + implements $TrendingLocationDataCopyWith<$Res> { + _$TrendingLocationDataCopyWithImpl(this._value, this._then); + + final TrendingLocationData _value; + // ignore: unused_field + final $Res Function(TrendingLocationData) _then; + + @override + $Res call({ + Object? id = freezed, + Object? parentId = freezed, + Object? name = freezed, + Object? countryName = freezed, + Object? country = freezed, + }) { + return _then(_value.copyWith( + id: id == freezed + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int, + parentId: parentId == freezed + ? _value.parentId + : parentId // ignore: cast_nullable_to_non_nullable + as int, + name: name == freezed + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + countryName: countryName == freezed + ? _value.countryName + : countryName // ignore: cast_nullable_to_non_nullable + as String, + country: country == freezed + ? _value.country + : country // ignore: cast_nullable_to_non_nullable + as Country?, + )); + } +} + +/// @nodoc +abstract class _$$_TrendingLocationDataCopyWith<$Res> + implements $TrendingLocationDataCopyWith<$Res> { + factory _$$_TrendingLocationDataCopyWith(_$_TrendingLocationData value, + $Res Function(_$_TrendingLocationData) then) = + __$$_TrendingLocationDataCopyWithImpl<$Res>; + @override + $Res call( + {@JsonKey(name: 'woeid') int id, + @JsonKey(name: 'parentid') int parentId, + String name, + @JsonKey(name: 'country') String countryName, + @JsonKey(name: 'countryCode') Country? country}); +} + +/// @nodoc +class __$$_TrendingLocationDataCopyWithImpl<$Res> + extends _$TrendingLocationDataCopyWithImpl<$Res> + implements _$$_TrendingLocationDataCopyWith<$Res> { + __$$_TrendingLocationDataCopyWithImpl(_$_TrendingLocationData _value, + $Res Function(_$_TrendingLocationData) _then) + : super(_value, (v) => _then(v as _$_TrendingLocationData)); + + @override + _$_TrendingLocationData get _value => super._value as _$_TrendingLocationData; + + @override + $Res call({ + Object? id = freezed, + Object? parentId = freezed, + Object? name = freezed, + Object? countryName = freezed, + Object? country = freezed, + }) { + return _then(_$_TrendingLocationData( + id: id == freezed + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int, + parentId: parentId == freezed + ? _value.parentId + : parentId // ignore: cast_nullable_to_non_nullable + as int, + name: name == freezed + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + countryName: countryName == freezed + ? _value.countryName + : countryName // ignore: cast_nullable_to_non_nullable + as String, + country: country == freezed + ? _value.country + : country // ignore: cast_nullable_to_non_nullable + as Country?, + )); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$_TrendingLocationData implements _TrendingLocationData { + const _$_TrendingLocationData( + {@JsonKey(name: 'woeid') required this.id, + @JsonKey(name: 'parentid') required this.parentId, + required this.name, + @JsonKey(name: 'country') required this.countryName, + @JsonKey(name: 'countryCode') required this.country}); + + factory _$_TrendingLocationData.fromJson(Map json) => + _$$_TrendingLocationDataFromJson(json); + + /// The identifier of location for trending topics. + @override + @JsonKey(name: 'woeid') + final int id; + + /// The identifier for parent location. + @override + @JsonKey(name: 'parentid') + final int parentId; + + /// The name of this location. + @override + final String name; + + /// The country name of this location. + @override + @JsonKey(name: 'country') + final String countryName; + + /// The country code of this location. + @override + @JsonKey(name: 'countryCode') + final Country? country; + + @override + String toString() { + return 'TrendingLocationData(id: $id, parentId: $parentId, name: $name, countryName: $countryName, country: $country)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_TrendingLocationData && + const DeepCollectionEquality().equals(other.id, id) && + const DeepCollectionEquality().equals(other.parentId, parentId) && + const DeepCollectionEquality().equals(other.name, name) && + const DeepCollectionEquality() + .equals(other.countryName, countryName) && + const DeepCollectionEquality().equals(other.country, country)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(id), + const DeepCollectionEquality().hash(parentId), + const DeepCollectionEquality().hash(name), + const DeepCollectionEquality().hash(countryName), + const DeepCollectionEquality().hash(country)); + + @JsonKey(ignore: true) + @override + _$$_TrendingLocationDataCopyWith<_$_TrendingLocationData> get copyWith => + __$$_TrendingLocationDataCopyWithImpl<_$_TrendingLocationData>( + this, _$identity); + + @override + Map toJson() { + return _$$_TrendingLocationDataToJson( + this, + ); + } +} + +abstract class _TrendingLocationData implements TrendingLocationData { + const factory _TrendingLocationData( + {@JsonKey(name: 'woeid') required final int id, + @JsonKey(name: 'parentid') required final int parentId, + required final String name, + @JsonKey(name: 'country') required final String countryName, + @JsonKey(name: 'countryCode') required final Country? country}) = + _$_TrendingLocationData; + + factory _TrendingLocationData.fromJson(Map json) = + _$_TrendingLocationData.fromJson; + + @override + + /// The identifier of location for trending topics. + @JsonKey(name: 'woeid') + int get id; + @override + + /// The identifier for parent location. + @JsonKey(name: 'parentid') + int get parentId; + @override + + /// The name of this location. + String get name; + @override + + /// The country name of this location. + @JsonKey(name: 'country') + String get countryName; + @override + + /// The country code of this location. + @JsonKey(name: 'countryCode') + Country? get country; + @override + @JsonKey(ignore: true) + _$$_TrendingLocationDataCopyWith<_$_TrendingLocationData> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/src/service/trends/trending_location_data.g.dart b/lib/src/service/trends/trending_location_data.g.dart new file mode 100644 index 00000000..b2448b76 --- /dev/null +++ b/lib/src/service/trends/trending_location_data.g.dart @@ -0,0 +1,304 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ignore_for_file: non_constant_identifier_names + +part of 'trending_location_data.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_TrendingLocationData _$$_TrendingLocationDataFromJson(Map json) => + $checkedCreate( + r'_$_TrendingLocationData', + json, + ($checkedConvert) { + final val = _$_TrendingLocationData( + id: $checkedConvert('woeid', (v) => v as int), + parentId: $checkedConvert('parentid', (v) => v as int), + name: $checkedConvert('name', (v) => v as String), + countryName: $checkedConvert('country', (v) => v as String), + country: $checkedConvert( + 'countryCode', (v) => $enumDecodeNullable(_$CountryEnumMap, v)), + ); + return val; + }, + fieldKeyMap: const { + 'id': 'woeid', + 'parentId': 'parentid', + 'countryName': 'country', + 'country': 'countryCode' + }, + ); + +Map _$$_TrendingLocationDataToJson( + _$_TrendingLocationData instance) { + final val = { + 'woeid': instance.id, + 'parentid': instance.parentId, + 'name': instance.name, + 'country': instance.countryName, + }; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('countryCode', _$CountryEnumMap[instance.country]); + return val; +} + +const _$CountryEnumMap = { + Country.afghanistan: 'AF', + Country.alandIslands: 'AX', + Country.albania: 'AL', + Country.algeria: 'DZ', + Country.americanSamoa: 'AS', + Country.andorra: 'AD', + Country.angola: 'AO', + Country.anguilla: 'AI', + Country.antarctica: 'AQ', + Country.antiguaAndBarbuda: 'AG', + Country.argentina: 'AR', + Country.armenia: 'AM', + Country.aruba: 'AW', + Country.australia: 'AU', + Country.austria: 'AT', + Country.azerbaijan: 'AZ', + Country.bahamas: 'BS', + Country.bahrain: 'BH', + Country.bangladesh: 'BD', + Country.barbados: 'BB', + Country.belarus: 'BY', + Country.belgium: 'BE', + Country.belize: 'BZ', + Country.benin: 'BJ', + Country.bermuda: 'BM', + Country.bhutan: 'BT', + Country.bolivia: 'BO', + Country.bonaire: 'BQ', + Country.bosniaAndHerzegovina: 'BA', + Country.botswana: 'BW', + Country.bouvetIsland: 'BV', + Country.brazil: 'BR', + Country.britishIndianOceanTerritory: 'IO', + Country.bruneiDarussalam: 'BN', + Country.bulgaria: 'BG', + Country.burkinaFaso: 'BF', + Country.burundi: 'BI', + Country.cambodia: 'KH', + Country.cameroon: 'CM', + Country.canada: 'CA', + Country.capeVerde: 'CV', + Country.caymanIslands: 'KY', + Country.centralAfricanRepublic: 'CF', + Country.chad: 'TD', + Country.chile: 'CL', + Country.china: 'CN', + Country.christmasIsland: 'CX', + Country.cocosIslands: 'CC', + Country.colombia: 'CO', + Country.comoros: 'KM', + Country.congo: 'CD', + Country.cookIslands: 'CK', + Country.costaRica: 'CR', + Country.ivoryCoast: 'CI', + Country.croatia: 'HR', + Country.cuba: 'CU', + Country.curacao: 'CW', + Country.cyprus: 'CY', + Country.czechRepublic: 'CZ', + Country.denmark: 'DK', + Country.djibouti: 'DJ', + Country.dominica: 'DM', + Country.dominicanRepublic: 'DO', + Country.ecuador: 'EC', + Country.egypt: 'EG', + Country.elSalvador: 'SV', + Country.equatorialGuinea: 'GQ', + Country.eritrea: 'ER', + Country.estonia: 'EE', + Country.ethiopia: 'ET', + Country.falklandIslands: 'FK', + Country.faroeIslands: 'FO', + Country.fiji: 'FJ', + Country.finland: 'FI', + Country.france: 'FR', + Country.frenchGuiana: 'GF', + Country.frenchPolynesia: 'PF', + Country.frenchSouthernTerritories: 'TF', + Country.gabon: 'GA', + Country.gambia: 'GM', + Country.georgia: 'GE', + Country.germany: 'DE', + Country.ghana: 'GH', + Country.gibraltar: 'GI', + Country.greece: 'GR', + Country.greenland: 'GL', + Country.grenada: 'GD', + Country.guadeloupe: 'GP', + Country.guam: 'GU', + Country.guatemala: 'GT', + Country.guernsey: 'GG', + Country.guinea: 'GN', + Country.guineaBissau: 'GW', + Country.guyana: 'GY', + Country.haiti: 'HT', + Country.heardIslandAndMcDonaldIslands: 'HM', + Country.holySee: 'VA', + Country.honduras: 'HN', + Country.hongKong: 'HK', + Country.hungary: 'HU', + Country.iceland: 'IS', + Country.india: 'IN', + Country.indonesia: 'ID', + Country.iran: 'IR', + Country.iraq: 'IQ', + Country.ireland: 'IE', + Country.isleOfMan: 'IM', + Country.israel: 'IL', + Country.italy: 'IT', + Country.jamaica: 'JM', + Country.japan: 'JP', + Country.jersey: 'JE', + Country.jordan: 'JO', + Country.kazakhstan: 'KZ', + Country.kenya: 'KE', + Country.kiribati: 'KI', + Country.northKorea: 'KP', + Country.korea: 'KR', + Country.kuwait: 'KW', + Country.kyrgyzstan: 'KG', + Country.laoPeoplesDemocraticRepublic: 'LA', + Country.latvia: 'LV', + Country.lebanon: 'LB', + Country.lesotho: 'LS', + Country.liberia: 'LR', + Country.libya: 'LY', + Country.liechtenstein: 'LI', + Country.lithuania: 'LT', + Country.luxembourg: 'LU', + Country.macao: 'MO', + Country.macedonia: 'MK', + Country.madagascar: 'MG', + Country.malawi: 'MW', + Country.malaysia: 'MY', + Country.maldives: 'MV', + Country.mali: 'ML', + Country.malta: 'MT', + Country.marshallIslands: 'MH', + Country.martinique: 'MQ', + Country.mauritania: 'MR', + Country.mauritius: 'MU', + Country.mayotte: 'YT', + Country.mexico: 'MX', + Country.micronesia: 'FM', + Country.moldova: 'MD', + Country.monaco: 'MC', + Country.mongolia: 'MN', + Country.montenegro: 'ME', + Country.montserrat: 'MS', + Country.morocco: 'MA', + Country.mozambique: 'MZ', + Country.myanmar: 'MM', + Country.namibia: 'NA', + Country.nauru: 'NR', + Country.nepal: 'NP', + Country.netherlands: 'NL', + Country.newCaledonia: 'NC', + Country.newZealand: 'NZ', + Country.nicaragua: 'NI', + Country.niger: 'NE', + Country.nigeria: 'NG', + Country.niue: 'NU', + Country.norfolkIsland: 'NF', + Country.northernMarianaIslands: 'MP', + Country.norway: 'NO', + Country.oman: 'OM', + Country.pakistan: 'PK', + Country.palau: 'PW', + Country.palestine: 'PS', + Country.panama: 'PA', + Country.papuaNewGuinea: 'PG', + Country.paraguay: 'PY', + Country.peru: 'PE', + Country.philippines: 'PH', + Country.pitcairn: 'PN', + Country.poland: 'PL', + Country.portugal: 'PT', + Country.puertoRico: 'PR', + Country.qatar: 'QA', + Country.reunion: 'RE', + Country.romania: 'RO', + Country.russianFederation: 'RU', + Country.rwanda: 'RW', + Country.saintBarthelemy: 'BL', + Country.saintHelena: 'SH', + Country.saintKittsAndNevis: 'KN', + Country.saintLucia: 'LC', + Country.saintMartin: 'MF', + Country.saintPierreAndMiquelon: 'PM', + Country.saintVincentAndTheGrenadines: 'VC', + Country.samoa: 'WS', + Country.sanMarino: 'SM', + Country.saoTomeAndPrincipe: 'ST', + Country.saudiArabia: 'SA', + Country.senegal: 'SN', + Country.serbia: 'RS', + Country.seychelles: 'SC', + Country.sierraLeone: 'SL', + Country.singapore: 'SG', + Country.sintMaarten: 'SX', + Country.slovakia: 'SK', + Country.slovenia: 'SI', + Country.solomonIslands: 'SB', + Country.somalia: 'SO', + Country.southAfrica: 'ZA', + Country.southGeorgiaAndTheSouthSandwichIslands: 'GS', + Country.southSudan: 'SS', + Country.spain: 'ES', + Country.sriLanka: 'LK', + Country.sudan: 'SD', + Country.suriname: 'SR', + Country.svalbardAndJanMayen: 'SJ', + Country.swaziland: 'SZ', + Country.sweden: 'SE', + Country.switzerland: 'CH', + Country.syrianArabRepublic: 'SY', + Country.taiwan: 'TW', + Country.tajikistan: 'TJ', + Country.tanzania: 'TZ', + Country.thailand: 'TH', + Country.timorLeste: 'TL', + Country.togo: 'TG', + Country.tokelau: 'TK', + Country.tonga: 'TO', + Country.trinidadAndTobago: 'TT', + Country.tunisia: 'TN', + Country.turkey: 'TR', + Country.turkmenistan: 'TM', + Country.turksAndCaicosIslands: 'TC', + Country.tuvalu: 'TV', + Country.uganda: 'UG', + Country.ukraine: 'UA', + Country.unitedArabEmirates: 'AE', + Country.unitedKingdom: 'GB', + Country.unitedStates: 'US', + Country.unitedStatesMinorOutlyingIslands: 'UM', + Country.uruguay: 'UY', + Country.uzbekistan: 'UZ', + Country.vanuatu: 'VU', + Country.venezuela: 'VE', + Country.vietnam: 'VN', + Country.virginIslandsBritish: 'VG', + Country.virginIslandsUS: 'VI', + Country.wallisAndFutuna: 'WF', + Country.westernSahara: 'EH', + Country.yemen: 'YE', + Country.zambia: 'ZM', + Country.zimbabwe: 'ZW', + Country.allCountries: 'XX', + Country.dmcaRequest: 'XY', +}; diff --git a/lib/src/service/trends/trends_service.dart b/lib/src/service/trends/trends_service.dart new file mode 100644 index 00000000..e15734e9 --- /dev/null +++ b/lib/src/service/trends/trends_service.dart @@ -0,0 +1,200 @@ +// Copyright 2022 Kato Shinya. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided the conditions. + +// Dart imports: +import 'dart:convert'; + +// Package imports: +import 'package:twitter_api_core/twitter_api_core.dart' as core; +import 'package:twitter_api_core/twitter_api_core.dart'; + +// Project imports: +import '../base_service.dart'; +import '../common/rate_limit.dart'; +import '../response/twitter_response.dart'; +import 'trend_data.dart'; +import 'trending_location_data.dart'; + +/// This class provides methods to easily access endpoints based on Trends. +abstract class TrendsService { + /// Returns the new instance of [TrendsService]. + factory TrendsService({required core.ClientContext context}) => + _TrendsService(context: context); + + /// Returns the locations that Twitter has trending topic information for. + /// + /// ## Endpoint Url + /// + /// - https://api.twitter.com/1.1/trends/available.json + /// + /// ## Authentication Methods + /// + /// - OAuth 1.0a + /// + /// ## Rate Limits + /// + /// - **User rate limit (OAuth 1.0a)**: + /// 75 requests per 15-minute window per each authenticated user + /// + /// ## Reference + /// + /// - https://developer.twitter.com/en/docs/twitter-api/v1/trends/locations-with-trending-topics/api-reference/get-trends-available + Future, void>> + searchAvailableLocations(); + + /// Returns the locations that Twitter has trending topic information for, + /// closest to a specified location. + /// + /// ## Parameters + /// + /// - [latitude]: Latitude of the location you want to search. + /// + /// - [longitude]: Longitude of the location you want to search. + /// + /// ## Endpoint Url + /// + /// - https://api.twitter.com/1.1/trends/available.json + /// + /// ## Authentication Methods + /// + /// - OAuth 1.0a + /// + /// ## Rate Limits + /// + /// - **User rate limit (OAuth 1.0a)**: + /// 75 requests per 15-minute window per each authenticated user + /// + /// ## Reference + /// + /// - https://developer.twitter.com/en/docs/twitter-api/v1/trends/locations-with-trending-topics/api-reference/get-trends-closest + Future, void>> + searchClosestLocations({ + required double latitude, + required double longitude, + }); + + /// Returns the top 50 trending topics for a specific id, if trending + /// information is available for it. + /// + /// ## Parameters + /// + /// - [locationId]: ID of where the trend is occurring. + /// + /// - [excludeHashtags]: List of hashtags to exclude from search results + /// + /// ## Endpoint Url + /// + /// - https://api.twitter.com/1.1/trends/place.json + /// + /// ## Authentication Methods + /// + /// - OAuth 1.0a + /// + /// ## Rate Limits + /// + /// - **User rate limit (OAuth 1.0a)**: + /// 75 requests per 15-minute window per each authenticated user + /// + /// ## Reference + /// + /// - https://developer.twitter.com/en/docs/twitter-api/v1/trends/trends-for-location/api-reference/get-trends-place + Future, void>> lookupTrends({ + required int locationId, + List? excludeHashtags, + }); +} + +class _TrendsService extends BaseService implements TrendsService { + /// Returns the new instance of [_TrendsService]. + _TrendsService({required super.context}); + + @override + Future, void>> + searchAvailableLocations() async { + final response = await super.get( + core.UserContext.oauth1Only, + '/1.1/trends/available.json', + ); + + final locations = _checkResponse(response).first['trends']; + + return TwitterResponse( + rateLimit: RateLimit.fromJson( + rateLimitConverter.convert(response.headers), + ), + data: locations + .map( + (json) => TrendingLocationData.fromJson(json)) + .toList(), + ); + } + + @override + Future, void>> + searchClosestLocations({ + required double latitude, + required double longitude, + }) async { + final response = await super.get( + core.UserContext.oauth1Only, + '/1.1/trends/closest.json', + queryParameters: { + 'lat': latitude, + 'long': longitude, + }, + ); + + final locations = _checkResponse(response); + + return TwitterResponse( + rateLimit: RateLimit.fromJson( + rateLimitConverter.convert(response.headers), + ), + data: locations + .map( + (json) => TrendingLocationData.fromJson(json)) + .toList(), + ); + } + + @override + Future, void>> lookupTrends({ + required int locationId, + List? excludeHashtags, + }) async { + final response = await super.get( + core.UserContext.oauth1Only, + '/1.1/trends/place.json', + queryParameters: { + 'id': locationId, + 'exclude': excludeHashtags, + }, + ); + + final locations = _checkResponse(response).first['trends']; + + return TwitterResponse( + rateLimit: RateLimit.fromJson( + rateLimitConverter.convert(response.headers), + ), + data: + locations.map((json) => TrendData.fromJson(json)).toList(), + ); + } + + dynamic _checkResponse(final core.Response response) { + final json = jsonDecode(response.body); + + if (json is Map) { + if (json.containsKey('errors')) { + throw DataNotFoundException( + 'No data exists in response.', + response, + ); + } + } + + return json; + } +} diff --git a/lib/src/service/twitter_service.dart b/lib/src/service/twitter_service.dart index 9a9e36a6..3a3020fe 100644 --- a/lib/src/service/twitter_service.dart +++ b/lib/src/service/twitter_service.dart @@ -12,6 +12,7 @@ import 'geo/geo_service.dart'; import 'lists/lists_service.dart'; import 'media/media_service.dart'; import 'spaces/spaces_service.dart'; +import 'trends/trends_service.dart'; import 'tweets/tweets_service.dart'; import 'users/users_service.dart'; @@ -41,6 +42,9 @@ abstract class TwitterService { /// Returns the geo service. GeoService get geoService; + /// Returns the trends service. + TrendsService get trendsService; + /// Returns the compliance service. ComplianceService get complianceService; } @@ -55,6 +59,7 @@ class _TwitterService implements TwitterService { mediaService = MediaService(context: context), directMessagesService = DirectMessagesService(context: context), geoService = GeoService(context: context), + trendsService = TrendsService(context: context), complianceService = ComplianceService(context: context); @override @@ -78,6 +83,9 @@ class _TwitterService implements TwitterService { @override final GeoService geoService; + @override + final TrendsService trendsService; + @override final ComplianceService complianceService; } diff --git a/lib/src/twitter_api.dart b/lib/src/twitter_api.dart index 22e1b590..e43b3668 100644 --- a/lib/src/twitter_api.dart +++ b/lib/src/twitter_api.dart @@ -12,6 +12,7 @@ import 'service/geo/geo_service.dart'; import 'service/lists/lists_service.dart'; import 'service/media/media_service.dart'; import 'service/spaces/spaces_service.dart'; +import 'service/trends/trends_service.dart'; import 'service/tweets/tweets_service.dart'; import 'service/twitter_service.dart'; import 'service/users/users_service.dart'; @@ -27,6 +28,7 @@ import 'service/users/users_service.dart'; /// - Media service: [media] /// - Direct Messages service: [directMessages] /// - Geo Service: [geo] +/// - Trends Service: [trends] /// - Compliance service: [compliance] /// /// ## Authentication @@ -193,6 +195,9 @@ abstract class TwitterApi { /// Returns the geo service. GeoService get geo; + /// Returns the trends service. + TrendsService get trends; + /// Returns the compliance service. ComplianceService get compliance; } @@ -261,6 +266,9 @@ class _TwitterApi implements TwitterApi { @override GeoService get geo => _twitterService.geoService; + @override + TrendsService get trends => _twitterService.trendsService; + @override ComplianceService get compliance => _twitterService.complianceService; } diff --git a/lib/twitter_api_v2.dart b/lib/twitter_api_v2.dart index 7f1b08d5..f2235b29 100644 --- a/lib/twitter_api_v2.dart +++ b/lib/twitter_api_v2.dart @@ -81,6 +81,9 @@ export 'package:twitter_api_v2/src/service/spaces/space_state.dart'; export 'package:twitter_api_v2/src/service/spaces/spaces_service.dart'; export 'package:twitter_api_v2/src/service/spaces/topic_data.dart'; export 'package:twitter_api_v2/src/service/spaces/topic_field.dart'; +export 'package:twitter_api_v2/src/service/trends/trend_data.dart'; +export 'package:twitter_api_v2/src/service/trends/trending_location_data.dart'; +export 'package:twitter_api_v2/src/service/trends/trends_service.dart'; export 'package:twitter_api_v2/src/service/tweets/decahose_partition.dart'; export 'package:twitter_api_v2/src/service/tweets/exclude_tweet_type.dart'; export 'package:twitter_api_v2/src/service/tweets/filtering/channel/entry_channel.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 389fb0b2..82820859 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: twitter_api_v2 description: The most famous and powerful Dart/Flutter library for Twitter API v2.0. -version: 4.5.0 +version: 4.6.0 repository: https://github.com/twitter-dart/twitter-api-v2 issue_tracker: https://github.com/twitter-dart/twitter-api-v2/issues diff --git a/test/src/service/trends/data/lookup_trends_by_id.json b/test/src/service/trends/data/lookup_trends_by_id.json new file mode 100644 index 00000000..7e12d7de --- /dev/null +++ b/test/src/service/trends/data/lookup_trends_by_id.json @@ -0,0 +1,364 @@ +[ + { + "trends": [ + { + "name": "#MCCelebrity", + "url": "http://twitter.com/search?q=%23MCCelebrity", + "promoted_content": null, + "query": "%23MCCelebrity", + "tweet_volume": null + }, + { + "name": "#NavidadesConGAMEyPlayStation", + "url": "http://twitter.com/search?q=%23NavidadesConGAMEyPlayStation", + "promoted_content": null, + "query": "%23NavidadesConGAMEyPlayStation", + "tweet_volume": null + }, + { + "name": "#Premios3DJuegosDoritos", + "url": "http://twitter.com/search?q=%23Premios3DJuegosDoritos", + "promoted_content": null, + "query": "%23Premios3DJuegosDoritos", + "tweet_volume": null + }, + { + "name": "#FelizMartes", + "url": "http://twitter.com/search?q=%23FelizMartes", + "promoted_content": null, + "query": "%23FelizMartes", + "tweet_volume": null + }, + { + "name": "Canelo", + "url": "http://twitter.com/search?q=Canelo", + "promoted_content": null, + "query": "Canelo", + "tweet_volume": 779533 + }, + { + "name": "Pablo Motos", + "url": "http://twitter.com/search?q=%22Pablo+Motos%22", + "promoted_content": null, + "query": "%22Pablo+Motos%22", + "tweet_volume": 73999 + }, + { + "name": "Patricia Conde", + "url": "http://twitter.com/search?q=%22Patricia+Conde%22", + "promoted_content": null, + "query": "%22Patricia+Conde%22", + "tweet_volume": null + }, + { + "name": "Leticia Sabater", + "url": "http://twitter.com/search?q=%22Leticia+Sabater%22", + "promoted_content": null, + "query": "%22Leticia+Sabater%22", + "tweet_volume": null + }, + { + "name": "halsey", + "url": "http://twitter.com/search?q=halsey", + "promoted_content": null, + "query": "halsey", + "tweet_volume": null + }, + { + "name": "#espanaalemania", + "url": "http://twitter.com/search?q=%23espanaalemania", + "promoted_content": null, + "query": "%23espanaalemania", + "tweet_volume": null + }, + { + "name": "Skrillex", + "url": "http://twitter.com/search?q=Skrillex", + "promoted_content": null, + "query": "Skrillex", + "tweet_volume": null + }, + { + "name": "Bruno Fernandes", + "url": "http://twitter.com/search?q=%22Bruno+Fernandes%22", + "promoted_content": null, + "query": "%22Bruno+Fernandes%22", + "tweet_volume": 152900 + }, + { + "name": "Uruguay", + "url": "http://twitter.com/search?q=Uruguay", + "promoted_content": null, + "query": "Uruguay", + "tweet_volume": 391238 + }, + { + "name": "Spotify", + "url": "http://twitter.com/search?q=Spotify", + "promoted_content": null, + "query": "Spotify", + "tweet_volume": 766338 + }, + { + "name": "Primavera Sound", + "url": "http://twitter.com/search?q=%22Primavera+Sound%22", + "promoted_content": null, + "query": "%22Primavera+Sound%22", + "tweet_volume": null + }, + { + "name": "Serbia", + "url": "http://twitter.com/search?q=Serbia", + "promoted_content": null, + "query": "Serbia", + "tweet_volume": 42971 + }, + { + "name": "Tribunal Constitucional", + "url": "http://twitter.com/search?q=%22Tribunal+Constitucional%22", + "promoted_content": null, + "query": "%22Tribunal+Constitucional%22", + "tweet_volume": null + }, + { + "name": "Juan Carlos Campo", + "url": "http://twitter.com/search?q=%22Juan+Carlos+Campo%22", + "promoted_content": null, + "query": "%22Juan+Carlos+Campo%22", + "tweet_volume": null + }, + { + "name": "Casemiro", + "url": "http://twitter.com/search?q=Casemiro", + "promoted_content": null, + "query": "Casemiro", + "tweet_volume": 448266 + }, + { + "name": "Juan del Val", + "url": "http://twitter.com/search?q=%22Juan+del+Val%22", + "promoted_content": null, + "query": "%22Juan+del+Val%22", + "tweet_volume": null + }, + { + "name": "Kendrick", + "url": "http://twitter.com/search?q=Kendrick", + "promoted_content": null, + "query": "Kendrick", + "tweet_volume": 11277 + }, + { + "name": "Musiala", + "url": "http://twitter.com/search?q=Musiala", + "promoted_content": null, + "query": "Musiala", + "tweet_volume": 16649 + }, + { + "name": "China", + "url": "http://twitter.com/search?q=China", + "promoted_content": null, + "query": "China", + "tweet_volume": 957476 + }, + { + "name": "Metallica", + "url": "http://twitter.com/search?q=Metallica", + "promoted_content": null, + "query": "Metallica", + "tweet_volume": 76278 + }, + { + "name": "El IPC", + "url": "http://twitter.com/search?q=%22El+IPC%22", + "promoted_content": null, + "query": "%22El+IPC%22", + "tweet_volume": null + }, + { + "name": "Apple", + "url": "http://twitter.com/search?q=Apple", + "promoted_content": null, + "query": "Apple", + "tweet_volume": 1346136 + }, + { + "name": "Koke", + "url": "http://twitter.com/search?q=Koke", + "promoted_content": null, + "query": "Koke", + "tweet_volume": null + }, + { + "name": "Adolfo Suárez Illana", + "url": "http://twitter.com/search?q=%22Adolfo+Su%C3%A1rez+Illana%22", + "promoted_content": null, + "query": "%22Adolfo+Su%C3%A1rez+Illana%22", + "tweet_volume": null + }, + { + "name": "Escrivá", + "url": "http://twitter.com/search?q=Escriv%C3%A1", + "promoted_content": null, + "query": "Escriv%C3%A1", + "tweet_volume": null + }, + { + "name": "Almudena Grandes", + "url": "http://twitter.com/search?q=%22Almudena+Grandes%22", + "promoted_content": null, + "query": "%22Almudena+Grandes%22", + "tweet_volume": null + }, + { + "name": "Rodrygo", + "url": "http://twitter.com/search?q=Rodrygo", + "promoted_content": null, + "query": "Rodrygo", + "tweet_volume": 110308 + }, + { + "name": "The Weeknd", + "url": "http://twitter.com/search?q=%22The+Weeknd%22", + "promoted_content": null, + "query": "%22The+Weeknd%22", + "tweet_volume": 89080 + }, + { + "name": "Binotto", + "url": "http://twitter.com/search?q=Binotto", + "promoted_content": null, + "query": "Binotto", + "tweet_volume": 32724 + }, + { + "name": "Giménez", + "url": "http://twitter.com/search?q=Gim%C3%A9nez", + "promoted_content": null, + "query": "Gim%C3%A9nez", + "tweet_volume": 12981 + }, + { + "name": "Carmen Calvo", + "url": "http://twitter.com/search?q=%22Carmen+Calvo%22", + "promoted_content": null, + "query": "%22Carmen+Calvo%22", + "tweet_volume": null + }, + { + "name": "San Saturnino", + "url": "http://twitter.com/search?q=%22San+Saturnino%22", + "promoted_content": null, + "query": "%22San+Saturnino%22", + "tweet_volume": null + }, + { + "name": "Red Velvet", + "url": "http://twitter.com/search?q=%22Red+Velvet%22", + "promoted_content": null, + "query": "%22Red+Velvet%22", + "tweet_volume": 96548 + }, + { + "name": "Gales", + "url": "http://twitter.com/search?q=Gales", + "promoted_content": null, + "query": "Gales", + "tweet_volume": null + }, + { + "name": "Corea del Sur", + "url": "http://twitter.com/search?q=%22Corea+del+Sur%22", + "promoted_content": null, + "query": "%22Corea+del+Sur%22", + "tweet_volume": 24210 + }, + { + "name": "calvin harris", + "url": "http://twitter.com/search?q=%22calvin+harris%22", + "promoted_content": null, + "query": "%22calvin+harris%22", + "tweet_volume": null + }, + { + "name": "Pueblo Palestino", + "url": "http://twitter.com/search?q=%22Pueblo+Palestino%22", + "promoted_content": null, + "query": "%22Pueblo+Palestino%22", + "tweet_volume": null + }, + { + "name": "Pasará", + "url": "http://twitter.com/search?q=Pasar%C3%A1", + "promoted_content": null, + "query": "Pasar%C3%A1", + "tweet_volume": 29021 + }, + { + "name": "Quevedo", + "url": "http://twitter.com/search?q=Quevedo", + "promoted_content": null, + "query": "Quevedo", + "tweet_volume": null + }, + { + "name": "Carvajal", + "url": "http://twitter.com/search?q=Carvajal", + "promoted_content": null, + "query": "Carvajal", + "tweet_volume": null + }, + { + "name": "Ana de Armas", + "url": "http://twitter.com/search?q=%22Ana+de+Armas%22", + "promoted_content": null, + "query": "%22Ana+de+Armas%22", + "tweet_volume": 13542 + }, + { + "name": "Bentancur", + "url": "http://twitter.com/search?q=Bentancur", + "promoted_content": null, + "query": "Bentancur", + "tweet_volume": 28316 + }, + { + "name": "Campazzo", + "url": "http://twitter.com/search?q=Campazzo", + "promoted_content": null, + "query": "Campazzo", + "tweet_volume": null + }, + { + "name": "Arganda", + "url": "http://twitter.com/search?q=Arganda", + "promoted_content": null, + "query": "Arganda", + "tweet_volume": null + }, + { + "name": "Bélgica", + "url": "http://twitter.com/search?q=B%C3%A9lgica", + "promoted_content": null, + "query": "B%C3%A9lgica", + "tweet_volume": 17424 + }, + { + "name": "Pet Shop Boys", + "url": "http://twitter.com/search?q=%22Pet+Shop+Boys%22", + "promoted_content": null, + "query": "%22Pet+Shop+Boys%22", + "tweet_volume": null + } + ], + "as_of": "2022-11-29T13:20:29Z", + "created_at": "2022-11-26T19:28:47Z", + "locations": [ + { + "name": "Spain", + "woeid": 23424950 + } + ] + } +] \ No newline at end of file diff --git a/test/src/service/trends/data/search_available_locations.json b/test/src/service/trends/data/search_available_locations.json new file mode 100644 index 00000000..1bd76c11 --- /dev/null +++ b/test/src/service/trends/data/search_available_locations.json @@ -0,0 +1,5606 @@ +[ + { + "name": "Worldwide", + "placeType": { + "code": 19, + "name": "Supername" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1", + "parentid": 0, + "country": "", + "woeid": 1, + "countryCode": null + }, + { + "name": "Winnipeg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2972", + "parentid": 23424775, + "country": "Canada", + "woeid": 2972, + "countryCode": "CA" + }, + { + "name": "Ottawa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/3369", + "parentid": 23424775, + "country": "Canada", + "woeid": 3369, + "countryCode": "CA" + }, + { + "name": "Quebec", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/3444", + "parentid": 23424775, + "country": "Canada", + "woeid": 3444, + "countryCode": "CA" + }, + { + "name": "Montreal", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/3534", + "parentid": 23424775, + "country": "Canada", + "woeid": 3534, + "countryCode": "CA" + }, + { + "name": "Toronto", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/4118", + "parentid": 23424775, + "country": "Canada", + "woeid": 4118, + "countryCode": "CA" + }, + { + "name": "Edmonton", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/8676", + "parentid": 23424775, + "country": "Canada", + "woeid": 8676, + "countryCode": "CA" + }, + { + "name": "Calgary", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/8775", + "parentid": 23424775, + "country": "Canada", + "woeid": 8775, + "countryCode": "CA" + }, + { + "name": "Vancouver", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/9807", + "parentid": 23424775, + "country": "Canada", + "woeid": 9807, + "countryCode": "CA" + }, + { + "name": "Birmingham", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/12723", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 12723, + "countryCode": "GB" + }, + { + "name": "Blackpool", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/12903", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 12903, + "countryCode": "GB" + }, + { + "name": "Bournemouth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/13383", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 13383, + "countryCode": "GB" + }, + { + "name": "Brighton", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/13911", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 13911, + "countryCode": "GB" + }, + { + "name": "Bristol", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/13963", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 13963, + "countryCode": "GB" + }, + { + "name": "Cardiff", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/15127", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 15127, + "countryCode": "GB" + }, + { + "name": "Coventry", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/17044", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 17044, + "countryCode": "GB" + }, + { + "name": "Derby", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/18114", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 18114, + "countryCode": "GB" + }, + { + "name": "Edinburgh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/19344", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 19344, + "countryCode": "GB" + }, + { + "name": "Glasgow", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/21125", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 21125, + "countryCode": "GB" + }, + { + "name": "Hull", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/25211", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 25211, + "countryCode": "GB" + }, + { + "name": "Leeds", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/26042", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 26042, + "countryCode": "GB" + }, + { + "name": "Leicester", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/26062", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 26062, + "countryCode": "GB" + }, + { + "name": "Liverpool", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/26734", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 26734, + "countryCode": "GB" + }, + { + "name": "Manchester", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/28218", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 28218, + "countryCode": "GB" + }, + { + "name": "Middlesbrough", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/28869", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 28869, + "countryCode": "GB" + }, + { + "name": "Newcastle", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/30079", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 30079, + "countryCode": "GB" + }, + { + "name": "Nottingham", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/30720", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 30720, + "countryCode": "GB" + }, + { + "name": "Plymouth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/32185", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 32185, + "countryCode": "GB" + }, + { + "name": "Portsmouth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/32452", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 32452, + "countryCode": "GB" + }, + { + "name": "Preston", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/32566", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 32566, + "countryCode": "GB" + }, + { + "name": "Sheffield", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/34503", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 34503, + "countryCode": "GB" + }, + { + "name": "Stoke-on-Trent", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/36240", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 36240, + "countryCode": "GB" + }, + { + "name": "Swansea", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/36758", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 36758, + "countryCode": "GB" + }, + { + "name": "London", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/44418", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 44418, + "countryCode": "GB" + }, + { + "name": "Belfast", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/44544", + "parentid": 23424975, + "country": "United Kingdom", + "woeid": 44544, + "countryCode": "GB" + }, + { + "name": "Santo Domingo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/76456", + "parentid": 23424800, + "country": "Dominican Republic", + "woeid": 76456, + "countryCode": "DO" + }, + { + "name": "Guatemala City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/83123", + "parentid": 23424834, + "country": "Guatemala", + "woeid": 83123, + "countryCode": "GT" + }, + { + "name": "Acapulco", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/110978", + "parentid": 23424900, + "country": "Mexico", + "woeid": 110978, + "countryCode": "MX" + }, + { + "name": "Aguascalientes", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/111579", + "parentid": 23424900, + "country": "Mexico", + "woeid": 111579, + "countryCode": "MX" + }, + { + "name": "Chihuahua", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/115958", + "parentid": 23424900, + "country": "Mexico", + "woeid": 115958, + "countryCode": "MX" + }, + { + "name": "Mexico City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/116545", + "parentid": 23424900, + "country": "Mexico", + "woeid": 116545, + "countryCode": "MX" + }, + { + "name": "Ciudad Juarez", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/116556", + "parentid": 23424900, + "country": "Mexico", + "woeid": 116556, + "countryCode": "MX" + }, + { + "name": "Nezahualc\u00F3yotl", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/116564", + "parentid": 23424900, + "country": "Mexico", + "woeid": 116564, + "countryCode": "MX" + }, + { + "name": "Culiac\u00E1n", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/117994", + "parentid": 23424900, + "country": "Mexico", + "woeid": 117994, + "countryCode": "MX" + }, + { + "name": "Ecatepec de Morelos", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/118466", + "parentid": 23424900, + "country": "Mexico", + "woeid": 118466, + "countryCode": "MX" + }, + { + "name": "Guadalajara", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/124162", + "parentid": 23424900, + "country": "Mexico", + "woeid": 124162, + "countryCode": "MX" + }, + { + "name": "Hermosillo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/124785", + "parentid": 23424900, + "country": "Mexico", + "woeid": 124785, + "countryCode": "MX" + }, + { + "name": "Le\u00F3n", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/131068", + "parentid": 23424900, + "country": "Mexico", + "woeid": 131068, + "countryCode": "MX" + }, + { + "name": "M\u00E9rida", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/133327", + "parentid": 23424900, + "country": "Mexico", + "woeid": 133327, + "countryCode": "MX" + }, + { + "name": "Mexicali", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/133475", + "parentid": 23424900, + "country": "Mexico", + "woeid": 133475, + "countryCode": "MX" + }, + { + "name": "Monterrey", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/134047", + "parentid": 23424900, + "country": "Mexico", + "woeid": 134047, + "countryCode": "MX" + }, + { + "name": "Morelia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/134091", + "parentid": 23424900, + "country": "Mexico", + "woeid": 134091, + "countryCode": "MX" + }, + { + "name": "Naucalpan de Ju\u00E1rez", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/134395", + "parentid": 23424900, + "country": "Mexico", + "woeid": 134395, + "countryCode": "MX" + }, + { + "name": "Puebla", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/137612", + "parentid": 23424900, + "country": "Mexico", + "woeid": 137612, + "countryCode": "MX" + }, + { + "name": "Quer\u00E9taro", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/138045", + "parentid": 23424900, + "country": "Mexico", + "woeid": 138045, + "countryCode": "MX" + }, + { + "name": "Saltillo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/141272", + "parentid": 23424900, + "country": "Mexico", + "woeid": 141272, + "countryCode": "MX" + }, + { + "name": "San Luis Potos\u00ED", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/144265", + "parentid": 23424900, + "country": "Mexico", + "woeid": 144265, + "countryCode": "MX" + }, + { + "name": "Tijuana", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/149361", + "parentid": 23424900, + "country": "Mexico", + "woeid": 149361, + "countryCode": "MX" + }, + { + "name": "Toluca", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/149769", + "parentid": 23424900, + "country": "Mexico", + "woeid": 149769, + "countryCode": "MX" + }, + { + "name": "Zapopan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/151582", + "parentid": 23424900, + "country": "Mexico", + "woeid": 151582, + "countryCode": "MX" + }, + { + "name": "Mendoza", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/332471", + "parentid": 23424747, + "country": "Argentina", + "woeid": 332471, + "countryCode": "AR" + }, + { + "name": "Santiago", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/349859", + "parentid": 23424782, + "country": "Chile", + "woeid": 349859, + "countryCode": "CL" + }, + { + "name": "Concepcion", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/349860", + "parentid": 23424782, + "country": "Chile", + "woeid": 349860, + "countryCode": "CL" + }, + { + "name": "Valparaiso", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/349861", + "parentid": 23424782, + "country": "Chile", + "woeid": 349861, + "countryCode": "CL" + }, + { + "name": "Bogot\u00E1", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/368148", + "parentid": 23424787, + "country": "Colombia", + "woeid": 368148, + "countryCode": "CO" + }, + { + "name": "Cali", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/368149", + "parentid": 23424787, + "country": "Colombia", + "woeid": 368149, + "countryCode": "CO" + }, + { + "name": "Medell\u00EDn", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/368150", + "parentid": 23424787, + "country": "Colombia", + "woeid": 368150, + "countryCode": "CO" + }, + { + "name": "Barranquilla", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/368151", + "parentid": 23424787, + "country": "Colombia", + "woeid": 368151, + "countryCode": "CO" + }, + { + "name": "Quito", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/375732", + "parentid": 23424801, + "country": "Ecuador", + "woeid": 375732, + "countryCode": "EC" + }, + { + "name": "Guayaquil", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/375733", + "parentid": 23424801, + "country": "Ecuador", + "woeid": 375733, + "countryCode": "EC" + }, + { + "name": "Caracas", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395269", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395269, + "countryCode": "VE" + }, + { + "name": "Maracaibo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395270", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395270, + "countryCode": "VE" + }, + { + "name": "Maracay", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395271", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395271, + "countryCode": "VE" + }, + { + "name": "Valencia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395272", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395272, + "countryCode": "VE" + }, + { + "name": "Barcelona", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395273", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395273, + "countryCode": "VE" + }, + { + "name": "Ciudad Guayana", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395275", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395275, + "countryCode": "VE" + }, + { + "name": "Turmero", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/395277", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 395277, + "countryCode": "VE" + }, + { + "name": "Lima", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/418440", + "parentid": 23424919, + "country": "Peru", + "woeid": 418440, + "countryCode": "PE" + }, + { + "name": "Bras\u00EDlia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455819", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455819, + "countryCode": "BR" + }, + { + "name": "Bel\u00E9m", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455820", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455820, + "countryCode": "BR" + }, + { + "name": "Belo Horizonte", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455821", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455821, + "countryCode": "BR" + }, + { + "name": "Curitiba", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455822", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455822, + "countryCode": "BR" + }, + { + "name": "Porto Alegre", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455823", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455823, + "countryCode": "BR" + }, + { + "name": "Recife", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455824", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455824, + "countryCode": "BR" + }, + { + "name": "Rio de Janeiro", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455825", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455825, + "countryCode": "BR" + }, + { + "name": "Salvador", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455826", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455826, + "countryCode": "BR" + }, + { + "name": "S\u00E3o Paulo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455827", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455827, + "countryCode": "BR" + }, + { + "name": "Campinas", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455828", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455828, + "countryCode": "BR" + }, + { + "name": "Fortaleza", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455830", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455830, + "countryCode": "BR" + }, + { + "name": "Goi\u00E2nia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455831", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455831, + "countryCode": "BR" + }, + { + "name": "Manaus", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455833", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455833, + "countryCode": "BR" + }, + { + "name": "S\u00E3o Lu\u00EDs", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455834", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455834, + "countryCode": "BR" + }, + { + "name": "Guarulhos", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/455867", + "parentid": 23424768, + "country": "Brazil", + "woeid": 455867, + "countryCode": "BR" + }, + { + "name": "C\u00F3rdoba", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/466861", + "parentid": 23424747, + "country": "Argentina", + "woeid": 466861, + "countryCode": "AR" + }, + { + "name": "Rosario", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/466862", + "parentid": 23424747, + "country": "Argentina", + "woeid": 466862, + "countryCode": "AR" + }, + { + "name": "Barquisimeto", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/468382", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 468382, + "countryCode": "VE" + }, + { + "name": "Matur\u00EDn", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/468384", + "parentid": 23424982, + "country": "Venezuela", + "woeid": 468384, + "countryCode": "VE" + }, + { + "name": "Buenos Aires", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/468739", + "parentid": 23424747, + "country": "Argentina", + "woeid": 468739, + "countryCode": "AR" + }, + { + "name": "Gda\u0144sk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/493417", + "parentid": 23424923, + "country": "Poland", + "woeid": 493417, + "countryCode": "PL" + }, + { + "name": "Krak\u00F3w", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/502075", + "parentid": 23424923, + "country": "Poland", + "woeid": 502075, + "countryCode": "PL" + }, + { + "name": "Lodz", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/505120", + "parentid": 23424923, + "country": "Poland", + "woeid": 505120, + "countryCode": "PL" + }, + { + "name": "Pozna\u0144", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/514048", + "parentid": 23424923, + "country": "Poland", + "woeid": 514048, + "countryCode": "PL" + }, + { + "name": "Warsaw", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/523920", + "parentid": 23424923, + "country": "Poland", + "woeid": 523920, + "countryCode": "PL" + }, + { + "name": "Wroclaw", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/526363", + "parentid": 23424923, + "country": "Poland", + "woeid": 526363, + "countryCode": "PL" + }, + { + "name": "Vienna", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/551801", + "parentid": 23424750, + "country": "Austria", + "woeid": 551801, + "countryCode": "AT" + }, + { + "name": "Cork", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/560472", + "parentid": 23424803, + "country": "Ireland", + "woeid": 560472, + "countryCode": "IE" + }, + { + "name": "Dublin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/560743", + "parentid": 23424803, + "country": "Ireland", + "woeid": 560743, + "countryCode": "IE" + }, + { + "name": "Galway", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/560912", + "parentid": 23424803, + "country": "Ireland", + "woeid": 560912, + "countryCode": "IE" + }, + { + "name": "Bordeaux", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/580778", + "parentid": 23424819, + "country": "France", + "woeid": 580778, + "countryCode": "FR" + }, + { + "name": "Lille", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/608105", + "parentid": 23424819, + "country": "France", + "woeid": 608105, + "countryCode": "FR" + }, + { + "name": "Lyon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/609125", + "parentid": 23424819, + "country": "France", + "woeid": 609125, + "countryCode": "FR" + }, + { + "name": "Marseille", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/610264", + "parentid": 23424819, + "country": "France", + "woeid": 610264, + "countryCode": "FR" + }, + { + "name": "Montpellier", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/612977", + "parentid": 23424819, + "country": "France", + "woeid": 612977, + "countryCode": "FR" + }, + { + "name": "Nantes", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/613858", + "parentid": 23424819, + "country": "France", + "woeid": 613858, + "countryCode": "FR" + }, + { + "name": "Paris", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/615702", + "parentid": 23424819, + "country": "France", + "woeid": 615702, + "countryCode": "FR" + }, + { + "name": "Rennes", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/619163", + "parentid": 23424819, + "country": "France", + "woeid": 619163, + "countryCode": "FR" + }, + { + "name": "Strasbourg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/627791", + "parentid": 23424819, + "country": "France", + "woeid": 627791, + "countryCode": "FR" + }, + { + "name": "Toulouse", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/628886", + "parentid": 23424819, + "country": "France", + "woeid": 628886, + "countryCode": "FR" + }, + { + "name": "Berlin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/638242", + "parentid": 23424829, + "country": "Germany", + "woeid": 638242, + "countryCode": "DE" + }, + { + "name": "Bremen", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/641142", + "parentid": 23424829, + "country": "Germany", + "woeid": 641142, + "countryCode": "DE" + }, + { + "name": "Dortmund", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/645458", + "parentid": 23424829, + "country": "Germany", + "woeid": 645458, + "countryCode": "DE" + }, + { + "name": "Dresden", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/645686", + "parentid": 23424829, + "country": "Germany", + "woeid": 645686, + "countryCode": "DE" + }, + { + "name": "Dusseldorf", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/646099", + "parentid": 23424829, + "country": "Germany", + "woeid": 646099, + "countryCode": "DE" + }, + { + "name": "Essen", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/648820", + "parentid": 23424829, + "country": "Germany", + "woeid": 648820, + "countryCode": "DE" + }, + { + "name": "Frankfurt", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/650272", + "parentid": 23424829, + "country": "Germany", + "woeid": 650272, + "countryCode": "DE" + }, + { + "name": "Hamburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/656958", + "parentid": 23424829, + "country": "Germany", + "woeid": 656958, + "countryCode": "DE" + }, + { + "name": "Cologne", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/667931", + "parentid": 23424829, + "country": "Germany", + "woeid": 667931, + "countryCode": "DE" + }, + { + "name": "Leipzig", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/671072", + "parentid": 23424829, + "country": "Germany", + "woeid": 671072, + "countryCode": "DE" + }, + { + "name": "Munich", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/676757", + "parentid": 23424829, + "country": "Germany", + "woeid": 676757, + "countryCode": "DE" + }, + { + "name": "Stuttgart", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/698064", + "parentid": 23424829, + "country": "Germany", + "woeid": 698064, + "countryCode": "DE" + }, + { + "name": "Bologna", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/711080", + "parentid": 23424853, + "country": "Italy", + "woeid": 711080, + "countryCode": "IT" + }, + { + "name": "Genoa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/716085", + "parentid": 23424853, + "country": "Italy", + "woeid": 716085, + "countryCode": "IT" + }, + { + "name": "Milan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/718345", + "parentid": 23424853, + "country": "Italy", + "woeid": 718345, + "countryCode": "IT" + }, + { + "name": "Naples", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/719258", + "parentid": 23424853, + "country": "Italy", + "woeid": 719258, + "countryCode": "IT" + }, + { + "name": "Palermo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/719846", + "parentid": 23424853, + "country": "Italy", + "woeid": 719846, + "countryCode": "IT" + }, + { + "name": "Rome", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/721943", + "parentid": 23424853, + "country": "Italy", + "woeid": 721943, + "countryCode": "IT" + }, + { + "name": "Turin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/725003", + "parentid": 23424853, + "country": "Italy", + "woeid": 725003, + "countryCode": "IT" + }, + { + "name": "Den Haag", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/726874", + "parentid": 23424909, + "country": "Netherlands", + "woeid": 726874, + "countryCode": "NL" + }, + { + "name": "Amsterdam", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/727232", + "parentid": 23424909, + "country": "Netherlands", + "woeid": 727232, + "countryCode": "NL" + }, + { + "name": "Rotterdam", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/733075", + "parentid": 23424909, + "country": "Netherlands", + "woeid": 733075, + "countryCode": "NL" + }, + { + "name": "Utrecht", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/734047", + "parentid": 23424909, + "country": "Netherlands", + "woeid": 734047, + "countryCode": "NL" + }, + { + "name": "Barcelona", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/753692", + "parentid": 23424950, + "country": "Spain", + "woeid": 753692, + "countryCode": "ES" + }, + { + "name": "Bilbao", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/754542", + "parentid": 23424950, + "country": "Spain", + "woeid": 754542, + "countryCode": "ES" + }, + { + "name": "Las Palmas", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/764814", + "parentid": 23424950, + "country": "Spain", + "woeid": 764814, + "countryCode": "ES" + }, + { + "name": "Madrid", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/766273", + "parentid": 23424950, + "country": "Spain", + "woeid": 766273, + "countryCode": "ES" + }, + { + "name": "Malaga", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/766356", + "parentid": 23424950, + "country": "Spain", + "woeid": 766356, + "countryCode": "ES" + }, + { + "name": "Murcia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/768026", + "parentid": 23424950, + "country": "Spain", + "woeid": 768026, + "countryCode": "ES" + }, + { + "name": "Palma", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/769293", + "parentid": 23424950, + "country": "Spain", + "woeid": 769293, + "countryCode": "ES" + }, + { + "name": "Seville", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/774508", + "parentid": 23424950, + "country": "Spain", + "woeid": 774508, + "countryCode": "ES" + }, + { + "name": "Valencia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/776688", + "parentid": 23424950, + "country": "Spain", + "woeid": 776688, + "countryCode": "ES" + }, + { + "name": "Zaragoza", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/779063", + "parentid": 23424950, + "country": "Spain", + "woeid": 779063, + "countryCode": "ES" + }, + { + "name": "Geneva", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/782538", + "parentid": 23424957, + "country": "Switzerland", + "woeid": 782538, + "countryCode": "CH" + }, + { + "name": "Lausanne", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/783058", + "parentid": 23424957, + "country": "Switzerland", + "woeid": 783058, + "countryCode": "CH" + }, + { + "name": "Zurich", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/784794", + "parentid": 23424957, + "country": "Switzerland", + "woeid": 784794, + "countryCode": "CH" + }, + { + "name": "Brest", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/824382", + "parentid": 23424765, + "country": "Belarus", + "woeid": 824382, + "countryCode": "BY" + }, + { + "name": "Grodno", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/825848", + "parentid": 23424765, + "country": "Belarus", + "woeid": 825848, + "countryCode": "BY" + }, + { + "name": "Gomel", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/825978", + "parentid": 23424765, + "country": "Belarus", + "woeid": 825978, + "countryCode": "BY" + }, + { + "name": "Minsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/834463", + "parentid": 23424765, + "country": "Belarus", + "woeid": 834463, + "countryCode": "BY" + }, + { + "name": "Riga", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/854823", + "parentid": 23424874, + "country": "Latvia", + "woeid": 854823, + "countryCode": "LV" + }, + { + "name": "Bergen", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/857105", + "parentid": 23424910, + "country": "Norway", + "woeid": 857105, + "countryCode": "NO" + }, + { + "name": "Oslo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/862592", + "parentid": 23424910, + "country": "Norway", + "woeid": 862592, + "countryCode": "NO" + }, + { + "name": "Gothenburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/890869", + "parentid": 23424954, + "country": "Sweden", + "woeid": 890869, + "countryCode": "SE" + }, + { + "name": "Stockholm", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/906057", + "parentid": 23424954, + "country": "Sweden", + "woeid": 906057, + "countryCode": "SE" + }, + { + "name": "Dnipropetrovsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/918981", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 918981, + "countryCode": "UA" + }, + { + "name": "Donetsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/919163", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 919163, + "countryCode": "UA" + }, + { + "name": "Kharkiv", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/922137", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 922137, + "countryCode": "UA" + }, + { + "name": "Kyiv", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/924938", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 924938, + "countryCode": "UA" + }, + { + "name": "Lviv", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/924943", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 924943, + "countryCode": "UA" + }, + { + "name": "Odesa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/929398", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 929398, + "countryCode": "UA" + }, + { + "name": "Zaporozhye", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/939628", + "parentid": 23424976, + "country": "Ukraine", + "woeid": 939628, + "countryCode": "UA" + }, + { + "name": "Athens", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/946738", + "parentid": 23424833, + "country": "Greece", + "woeid": 946738, + "countryCode": "GR" + }, + { + "name": "Thessaloniki", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/963291", + "parentid": 23424833, + "country": "Greece", + "woeid": 963291, + "countryCode": "GR" + }, + { + "name": "Bekasi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1030077", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1030077, + "countryCode": "ID" + }, + { + "name": "Depok", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1032539", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1032539, + "countryCode": "ID" + }, + { + "name": "Pekanbaru", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1040779", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1040779, + "countryCode": "ID" + }, + { + "name": "Surabaya", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1044316", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1044316, + "countryCode": "ID" + }, + { + "name": "Makassar", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1046138", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1046138, + "countryCode": "ID" + }, + { + "name": "Bandung", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1047180", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1047180, + "countryCode": "ID" + }, + { + "name": "Jakarta", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1047378", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1047378, + "countryCode": "ID" + }, + { + "name": "Medan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1047908", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1047908, + "countryCode": "ID" + }, + { + "name": "Palembang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1048059", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1048059, + "countryCode": "ID" + }, + { + "name": "Semarang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1048324", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1048324, + "countryCode": "ID" + }, + { + "name": "Tangerang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1048536", + "parentid": 23424846, + "country": "Indonesia", + "woeid": 1048536, + "countryCode": "ID" + }, + { + "name": "Singapore", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1062617", + "parentid": 23424948, + "country": "Singapore", + "woeid": 1062617, + "countryCode": "SG" + }, + { + "name": "Perth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1098081", + "parentid": 23424748, + "country": "Australia", + "woeid": 1098081, + "countryCode": "AU" + }, + { + "name": "Adelaide", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1099805", + "parentid": 23424748, + "country": "Australia", + "woeid": 1099805, + "countryCode": "AU" + }, + { + "name": "Brisbane", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1100661", + "parentid": 23424748, + "country": "Australia", + "woeid": 1100661, + "countryCode": "AU" + }, + { + "name": "Canberra", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1100968", + "parentid": 23424748, + "country": "Australia", + "woeid": 1100968, + "countryCode": "AU" + }, + { + "name": "Darwin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1101597", + "parentid": 23424748, + "country": "Australia", + "woeid": 1101597, + "countryCode": "AU" + }, + { + "name": "Melbourne", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1103816", + "parentid": 23424748, + "country": "Australia", + "woeid": 1103816, + "countryCode": "AU" + }, + { + "name": "Sydney", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1105779", + "parentid": 23424748, + "country": "Australia", + "woeid": 1105779, + "countryCode": "AU" + }, + { + "name": "Kitakyushu", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1110809", + "parentid": 23424856, + "country": "Japan", + "woeid": 1110809, + "countryCode": "JP" + }, + { + "name": "Saitama", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1116753", + "parentid": 23424856, + "country": "Japan", + "woeid": 1116753, + "countryCode": "JP" + }, + { + "name": "Chiba", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117034", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117034, + "countryCode": "JP" + }, + { + "name": "Fukuoka", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117099", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117099, + "countryCode": "JP" + }, + { + "name": "Hamamatsu", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117155", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117155, + "countryCode": "JP" + }, + { + "name": "Hiroshima", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117227", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117227, + "countryCode": "JP" + }, + { + "name": "Kawasaki", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117502", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117502, + "countryCode": "JP" + }, + { + "name": "Kobe", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117545", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117545, + "countryCode": "JP" + }, + { + "name": "Kumamoto", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117605", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117605, + "countryCode": "JP" + }, + { + "name": "Nagoya", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117817", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117817, + "countryCode": "JP" + }, + { + "name": "Niigata", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1117881", + "parentid": 23424856, + "country": "Japan", + "woeid": 1117881, + "countryCode": "JP" + }, + { + "name": "Sagamihara", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118072", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118072, + "countryCode": "JP" + }, + { + "name": "Sapporo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118108", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118108, + "countryCode": "JP" + }, + { + "name": "Sendai", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118129", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118129, + "countryCode": "JP" + }, + { + "name": "Takamatsu", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118285", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118285, + "countryCode": "JP" + }, + { + "name": "Tokyo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118370", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118370, + "countryCode": "JP" + }, + { + "name": "Yokohama", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1118550", + "parentid": 23424856, + "country": "Japan", + "woeid": 1118550, + "countryCode": "JP" + }, + { + "name": "Goyang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1130853", + "parentid": 23424868, + "country": "Korea", + "woeid": 1130853, + "countryCode": "KR" + }, + { + "name": "Yongin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132094", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132094, + "countryCode": "KR" + }, + { + "name": "Ansan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132444", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132444, + "countryCode": "KR" + }, + { + "name": "Bucheon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132445", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132445, + "countryCode": "KR" + }, + { + "name": "Busan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132447", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132447, + "countryCode": "KR" + }, + { + "name": "Changwon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132449", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132449, + "countryCode": "KR" + }, + { + "name": "Daegu", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132466", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132466, + "countryCode": "KR" + }, + { + "name": "Gwangju", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132481", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132481, + "countryCode": "KR" + }, + { + "name": "Incheon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132496", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132496, + "countryCode": "KR" + }, + { + "name": "Seongnam", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132559", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132559, + "countryCode": "KR" + }, + { + "name": "Suwon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132567", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132567, + "countryCode": "KR" + }, + { + "name": "Ulsan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132578", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132578, + "countryCode": "KR" + }, + { + "name": "Seoul", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1132599", + "parentid": 23424868, + "country": "Korea", + "woeid": 1132599, + "countryCode": "KR" + }, + { + "name": "Kajang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1141268", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 1141268, + "countryCode": "MY" + }, + { + "name": "Ipoh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1154679", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 1154679, + "countryCode": "MY" + }, + { + "name": "Johor Bahru", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1154698", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 1154698, + "countryCode": "MY" + }, + { + "name": "Klang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1154726", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 1154726, + "countryCode": "MY" + }, + { + "name": "Kuala Lumpur", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1154781", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 1154781, + "countryCode": "MY" + }, + { + "name": "Calocan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1167715", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1167715, + "countryCode": "PH" + }, + { + "name": "Makati", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1180689", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1180689, + "countryCode": "PH" + }, + { + "name": "Pasig", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1187115", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1187115, + "countryCode": "PH" + }, + { + "name": "Taguig", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1195098", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1195098, + "countryCode": "PH" + }, + { + "name": "Antipolo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1198785", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1198785, + "countryCode": "PH" + }, + { + "name": "Cagayan de Oro", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199002", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199002, + "countryCode": "PH" + }, + { + "name": "Cebu City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199079", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199079, + "countryCode": "PH" + }, + { + "name": "Davao City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199136", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199136, + "countryCode": "PH" + }, + { + "name": "Manila", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199477", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199477, + "countryCode": "PH" + }, + { + "name": "Quezon City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199682", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199682, + "countryCode": "PH" + }, + { + "name": "Zamboanga City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1199980", + "parentid": 23424934, + "country": "Philippines", + "woeid": 1199980, + "countryCode": "PH" + }, + { + "name": "Bangkok", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1225448", + "parentid": 23424960, + "country": "Thailand", + "woeid": 1225448, + "countryCode": "TH" + }, + { + "name": "Hanoi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1236594", + "parentid": 23424984, + "country": "Vietnam", + "woeid": 1236594, + "countryCode": "VN" + }, + { + "name": "Hai Phong", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1236690", + "parentid": 23424984, + "country": "Vietnam", + "woeid": 1236690, + "countryCode": "VN" + }, + { + "name": "Can Tho", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1252351", + "parentid": 23424984, + "country": "Vietnam", + "woeid": 1252351, + "countryCode": "VN" + }, + { + "name": "Da Nang", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1252376", + "parentid": 23424984, + "country": "Vietnam", + "woeid": 1252376, + "countryCode": "VN" + }, + { + "name": "Ho Chi Minh City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1252431", + "parentid": 23424984, + "country": "Vietnam", + "woeid": 1252431, + "countryCode": "VN" + }, + { + "name": "Algiers", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1253079", + "parentid": 23424740, + "country": "Algeria", + "woeid": 1253079, + "countryCode": "DZ" + }, + { + "name": "Accra", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1326075", + "parentid": 23424824, + "country": "Ghana", + "woeid": 1326075, + "countryCode": "GH" + }, + { + "name": "Kumasi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1330595", + "parentid": 23424824, + "country": "Ghana", + "woeid": 1330595, + "countryCode": "GH" + }, + { + "name": "Benin City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1387660", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1387660, + "countryCode": "NG" + }, + { + "name": "Ibadan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1393672", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1393672, + "countryCode": "NG" + }, + { + "name": "Kaduna", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1396439", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1396439, + "countryCode": "NG" + }, + { + "name": "Kano", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1396803", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1396803, + "countryCode": "NG" + }, + { + "name": "Lagos", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1398823", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1398823, + "countryCode": "NG" + }, + { + "name": "Port Harcourt", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1404447", + "parentid": 23424908, + "country": "Nigeria", + "woeid": 1404447, + "countryCode": "NG" + }, + { + "name": "Giza", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1521643", + "parentid": 23424802, + "country": "Egypt", + "woeid": 1521643, + "countryCode": "EG" + }, + { + "name": "Cairo", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1521894", + "parentid": 23424802, + "country": "Egypt", + "woeid": 1521894, + "countryCode": "EG" + }, + { + "name": "Alexandria", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1522006", + "parentid": 23424802, + "country": "Egypt", + "woeid": 1522006, + "countryCode": "EG" + }, + { + "name": "Mombasa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1528335", + "parentid": 23424863, + "country": "Kenya", + "woeid": 1528335, + "countryCode": "KE" + }, + { + "name": "Nairobi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1528488", + "parentid": 23424863, + "country": "Kenya", + "woeid": 1528488, + "countryCode": "KE" + }, + { + "name": "Durban", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1580913", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1580913, + "countryCode": "ZA" + }, + { + "name": "Johannesburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1582504", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1582504, + "countryCode": "ZA" + }, + { + "name": "Port Elizabeth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1586614", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1586614, + "countryCode": "ZA" + }, + { + "name": "Pretoria", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1586638", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1586638, + "countryCode": "ZA" + }, + { + "name": "Soweto", + "placeType": { + "code": 22, + "name": "Unknown" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1587677", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1587677, + "countryCode": "ZA" + }, + { + "name": "Cape Town", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1591691", + "parentid": 23424942, + "country": "South Africa", + "woeid": 1591691, + "countryCode": "ZA" + }, + { + "name": "Medina", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1937801", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 1937801, + "countryCode": "SA" + }, + { + "name": "Dammam", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1939574", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 1939574, + "countryCode": "SA" + }, + { + "name": "Riyadh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1939753", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 1939753, + "countryCode": "SA" + }, + { + "name": "Jeddah", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1939873", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 1939873, + "countryCode": "SA" + }, + { + "name": "Mecca", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1939897", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 1939897, + "countryCode": "SA" + }, + { + "name": "Sharjah", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1940119", + "parentid": 23424738, + "country": "United Arab Emirates", + "woeid": 1940119, + "countryCode": "AE" + }, + { + "name": "Abu Dhabi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1940330", + "parentid": 23424738, + "country": "United Arab Emirates", + "woeid": 1940330, + "countryCode": "AE" + }, + { + "name": "Dubai", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1940345", + "parentid": 23424738, + "country": "United Arab Emirates", + "woeid": 1940345, + "countryCode": "AE" + }, + { + "name": "Haifa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1967449", + "parentid": 23424852, + "country": "Israel", + "woeid": 1967449, + "countryCode": "IL" + }, + { + "name": "Tel Aviv", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1968212", + "parentid": 23424852, + "country": "Israel", + "woeid": 1968212, + "countryCode": "IL" + }, + { + "name": "Jerusalem", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1968222", + "parentid": 23424852, + "country": "Israel", + "woeid": 1968222, + "countryCode": "IL" + }, + { + "name": "Amman", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1968902", + "parentid": 23424860, + "country": "Jordan", + "woeid": 1968902, + "countryCode": "JO" + }, + { + "name": "Chelyabinsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/1997422", + "parentid": 23424936, + "country": "Russia", + "woeid": 1997422, + "countryCode": "RU" + }, + { + "name": "Khabarovsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2018708", + "parentid": 23424936, + "country": "Russia", + "woeid": 2018708, + "countryCode": "RU" + }, + { + "name": "Krasnodar", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2028717", + "parentid": 23424936, + "country": "Russia", + "woeid": 2028717, + "countryCode": "RU" + }, + { + "name": "Krasnoyarsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2029043", + "parentid": 23424936, + "country": "Russia", + "woeid": 2029043, + "countryCode": "RU" + }, + { + "name": "Samara", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2077746", + "parentid": 23424936, + "country": "Russia", + "woeid": 2077746, + "countryCode": "RU" + }, + { + "name": "Voronezh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2108210", + "parentid": 23424936, + "country": "Russia", + "woeid": 2108210, + "countryCode": "RU" + }, + { + "name": "Yekaterinburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2112237", + "parentid": 23424936, + "country": "Russia", + "woeid": 2112237, + "countryCode": "RU" + }, + { + "name": "Irkutsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2121040", + "parentid": 23424936, + "country": "Russia", + "woeid": 2121040, + "countryCode": "RU" + }, + { + "name": "Kazan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2121267", + "parentid": 23424936, + "country": "Russia", + "woeid": 2121267, + "countryCode": "RU" + }, + { + "name": "Moscow", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2122265", + "parentid": 23424936, + "country": "Russia", + "woeid": 2122265, + "countryCode": "RU" + }, + { + "name": "Nizhny Novgorod", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2122471", + "parentid": 23424936, + "country": "Russia", + "woeid": 2122471, + "countryCode": "RU" + }, + { + "name": "Novosibirsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2122541", + "parentid": 23424936, + "country": "Russia", + "woeid": 2122541, + "countryCode": "RU" + }, + { + "name": "Omsk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2122641", + "parentid": 23424936, + "country": "Russia", + "woeid": 2122641, + "countryCode": "RU" + }, + { + "name": "Perm", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2122814", + "parentid": 23424936, + "country": "Russia", + "woeid": 2122814, + "countryCode": "RU" + }, + { + "name": "Rostov-on-Don", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2123177", + "parentid": 23424936, + "country": "Russia", + "woeid": 2123177, + "countryCode": "RU" + }, + { + "name": "Saint Petersburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2123260", + "parentid": 23424936, + "country": "Russia", + "woeid": 2123260, + "countryCode": "RU" + }, + { + "name": "Ufa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2124045", + "parentid": 23424936, + "country": "Russia", + "woeid": 2124045, + "countryCode": "RU" + }, + { + "name": "Vladivostok", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2124288", + "parentid": 23424936, + "country": "Russia", + "woeid": 2124288, + "countryCode": "RU" + }, + { + "name": "Volgograd", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2124298", + "parentid": 23424936, + "country": "Russia", + "woeid": 2124298, + "countryCode": "RU" + }, + { + "name": "Karachi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2211096", + "parentid": 23424922, + "country": "Pakistan", + "woeid": 2211096, + "countryCode": "PK" + }, + { + "name": "Lahore", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2211177", + "parentid": 23424922, + "country": "Pakistan", + "woeid": 2211177, + "countryCode": "PK" + }, + { + "name": "Multan", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2211269", + "parentid": 23424922, + "country": "Pakistan", + "woeid": 2211269, + "countryCode": "PK" + }, + { + "name": "Rawalpindi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2211387", + "parentid": 23424922, + "country": "Pakistan", + "woeid": 2211387, + "countryCode": "PK" + }, + { + "name": "Faisalabad", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2211574", + "parentid": 23424922, + "country": "Pakistan", + "woeid": 2211574, + "countryCode": "PK" + }, + { + "name": "Muscat", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2268284", + "parentid": 23424898, + "country": "Oman", + "woeid": 2268284, + "countryCode": "OM" + }, + { + "name": "Nagpur", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2282863", + "parentid": 23424848, + "country": "India", + "woeid": 2282863, + "countryCode": "IN" + }, + { + "name": "Lucknow", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295377", + "parentid": 23424848, + "country": "India", + "woeid": 2295377, + "countryCode": "IN" + }, + { + "name": "Kanpur", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295378", + "parentid": 23424848, + "country": "India", + "woeid": 2295378, + "countryCode": "IN" + }, + { + "name": "Patna", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295381", + "parentid": 23424848, + "country": "India", + "woeid": 2295381, + "countryCode": "IN" + }, + { + "name": "Ranchi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295383", + "parentid": 23424848, + "country": "India", + "woeid": 2295383, + "countryCode": "IN" + }, + { + "name": "Kolkata", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295386", + "parentid": 23424848, + "country": "India", + "woeid": 2295386, + "countryCode": "IN" + }, + { + "name": "Srinagar", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295387", + "parentid": 23424848, + "country": "India", + "woeid": 2295387, + "countryCode": "IN" + }, + { + "name": "Amritsar", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295388", + "parentid": 23424848, + "country": "India", + "woeid": 2295388, + "countryCode": "IN" + }, + { + "name": "Jaipur", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295401", + "parentid": 23424848, + "country": "India", + "woeid": 2295401, + "countryCode": "IN" + }, + { + "name": "Ahmedabad", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295402", + "parentid": 23424848, + "country": "India", + "woeid": 2295402, + "countryCode": "IN" + }, + { + "name": "Rajkot", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295404", + "parentid": 23424848, + "country": "India", + "woeid": 2295404, + "countryCode": "IN" + }, + { + "name": "Surat", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295405", + "parentid": 23424848, + "country": "India", + "woeid": 2295405, + "countryCode": "IN" + }, + { + "name": "Bhopal", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295407", + "parentid": 23424848, + "country": "India", + "woeid": 2295407, + "countryCode": "IN" + }, + { + "name": "Indore", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295408", + "parentid": 23424848, + "country": "India", + "woeid": 2295408, + "countryCode": "IN" + }, + { + "name": "Thane", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295410", + "parentid": 23424848, + "country": "India", + "woeid": 2295410, + "countryCode": "IN" + }, + { + "name": "Mumbai", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295411", + "parentid": 23424848, + "country": "India", + "woeid": 2295411, + "countryCode": "IN" + }, + { + "name": "Pune", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295412", + "parentid": 23424848, + "country": "India", + "woeid": 2295412, + "countryCode": "IN" + }, + { + "name": "Hyderabad", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295414", + "parentid": 23424848, + "country": "India", + "woeid": 2295414, + "countryCode": "IN" + }, + { + "name": "Bangalore", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295420", + "parentid": 23424848, + "country": "India", + "woeid": 2295420, + "countryCode": "IN" + }, + { + "name": "Chennai", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2295424", + "parentid": 23424848, + "country": "India", + "woeid": 2295424, + "countryCode": "IN" + }, + { + "name": "Mersin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2323778", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2323778, + "countryCode": "TR" + }, + { + "name": "Adana", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343678", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343678, + "countryCode": "TR" + }, + { + "name": "Ankara", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343732", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343732, + "countryCode": "TR" + }, + { + "name": "Antalya", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343733", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343733, + "countryCode": "TR" + }, + { + "name": "Bursa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343843", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343843, + "countryCode": "TR" + }, + { + "name": "Diyarbak\u0131r", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343932", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343932, + "countryCode": "TR" + }, + { + "name": "Eski\u015Fehir", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343980", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343980, + "countryCode": "TR" + }, + { + "name": "Gaziantep", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2343999", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2343999, + "countryCode": "TR" + }, + { + "name": "Istanbul", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2344116", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2344116, + "countryCode": "TR" + }, + { + "name": "Izmir", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2344117", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2344117, + "countryCode": "TR" + }, + { + "name": "Kayseri", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2344174", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2344174, + "countryCode": "TR" + }, + { + "name": "Konya", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2344210", + "parentid": 23424969, + "country": "Turkey", + "woeid": 2344210, + "countryCode": "TR" + }, + { + "name": "Okinawa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2345896", + "parentid": 23424856, + "country": "Japan", + "woeid": 2345896, + "countryCode": "JP" + }, + { + "name": "Daejeon", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2345975", + "parentid": 23424868, + "country": "Korea", + "woeid": 2345975, + "countryCode": "KR" + }, + { + "name": "Auckland", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2348079", + "parentid": 23424916, + "country": "New Zealand", + "woeid": 2348079, + "countryCode": "NZ" + }, + { + "name": "Albuquerque", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2352824", + "parentid": 23424977, + "country": "United States", + "woeid": 2352824, + "countryCode": "US" + }, + { + "name": "Atlanta", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2357024", + "parentid": 23424977, + "country": "United States", + "woeid": 2357024, + "countryCode": "US" + }, + { + "name": "Austin", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2357536", + "parentid": 23424977, + "country": "United States", + "woeid": 2357536, + "countryCode": "US" + }, + { + "name": "Baltimore", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2358820", + "parentid": 23424977, + "country": "United States", + "woeid": 2358820, + "countryCode": "US" + }, + { + "name": "Baton Rouge", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2359991", + "parentid": 23424977, + "country": "United States", + "woeid": 2359991, + "countryCode": "US" + }, + { + "name": "Birmingham", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2364559", + "parentid": 23424977, + "country": "United States", + "woeid": 2364559, + "countryCode": "US" + }, + { + "name": "Boston", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2367105", + "parentid": 23424977, + "country": "United States", + "woeid": 2367105, + "countryCode": "US" + }, + { + "name": "Charlotte", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2378426", + "parentid": 23424977, + "country": "United States", + "woeid": 2378426, + "countryCode": "US" + }, + { + "name": "Chicago", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2379574", + "parentid": 23424977, + "country": "United States", + "woeid": 2379574, + "countryCode": "US" + }, + { + "name": "Cincinnati", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2380358", + "parentid": 23424977, + "country": "United States", + "woeid": 2380358, + "countryCode": "US" + }, + { + "name": "Cleveland", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2381475", + "parentid": 23424977, + "country": "United States", + "woeid": 2381475, + "countryCode": "US" + }, + { + "name": "Colorado Springs", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2383489", + "parentid": 23424977, + "country": "United States", + "woeid": 2383489, + "countryCode": "US" + }, + { + "name": "Columbus", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2383660", + "parentid": 23424977, + "country": "United States", + "woeid": 2383660, + "countryCode": "US" + }, + { + "name": "Dallas-Ft. Worth", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2388929", + "parentid": 23424977, + "country": "United States", + "woeid": 2388929, + "countryCode": "US" + }, + { + "name": "Denver", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2391279", + "parentid": 23424977, + "country": "United States", + "woeid": 2391279, + "countryCode": "US" + }, + { + "name": "Detroit", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2391585", + "parentid": 23424977, + "country": "United States", + "woeid": 2391585, + "countryCode": "US" + }, + { + "name": "El Paso", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2397816", + "parentid": 23424977, + "country": "United States", + "woeid": 2397816, + "countryCode": "US" + }, + { + "name": "Fresno", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2407517", + "parentid": 23424977, + "country": "United States", + "woeid": 2407517, + "countryCode": "US" + }, + { + "name": "Greensboro", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2414469", + "parentid": 23424977, + "country": "United States", + "woeid": 2414469, + "countryCode": "US" + }, + { + "name": "Harrisburg", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2418046", + "parentid": 23424977, + "country": "United States", + "woeid": 2418046, + "countryCode": "US" + }, + { + "name": "Honolulu", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2423945", + "parentid": 23424977, + "country": "United States", + "woeid": 2423945, + "countryCode": "US" + }, + { + "name": "Houston", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2424766", + "parentid": 23424977, + "country": "United States", + "woeid": 2424766, + "countryCode": "US" + }, + { + "name": "Indianapolis", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2427032", + "parentid": 23424977, + "country": "United States", + "woeid": 2427032, + "countryCode": "US" + }, + { + "name": "Jackson", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2428184", + "parentid": 23424977, + "country": "United States", + "woeid": 2428184, + "countryCode": "US" + }, + { + "name": "Jacksonville", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2428344", + "parentid": 23424977, + "country": "United States", + "woeid": 2428344, + "countryCode": "US" + }, + { + "name": "Kansas City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2430683", + "parentid": 23424977, + "country": "United States", + "woeid": 2430683, + "countryCode": "US" + }, + { + "name": "Las Vegas", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2436704", + "parentid": 23424977, + "country": "United States", + "woeid": 2436704, + "countryCode": "US" + }, + { + "name": "Long Beach", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2441472", + "parentid": 23424977, + "country": "United States", + "woeid": 2441472, + "countryCode": "US" + }, + { + "name": "Los Angeles", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2442047", + "parentid": 23424977, + "country": "United States", + "woeid": 2442047, + "countryCode": "US" + }, + { + "name": "Louisville", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2442327", + "parentid": 23424977, + "country": "United States", + "woeid": 2442327, + "countryCode": "US" + }, + { + "name": "Memphis", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2449323", + "parentid": 23424977, + "country": "United States", + "woeid": 2449323, + "countryCode": "US" + }, + { + "name": "Mesa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2449808", + "parentid": 23424977, + "country": "United States", + "woeid": 2449808, + "countryCode": "US" + }, + { + "name": "Miami", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2450022", + "parentid": 23424977, + "country": "United States", + "woeid": 2450022, + "countryCode": "US" + }, + { + "name": "Milwaukee", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2451822", + "parentid": 23424977, + "country": "United States", + "woeid": 2451822, + "countryCode": "US" + }, + { + "name": "Minneapolis", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2452078", + "parentid": 23424977, + "country": "United States", + "woeid": 2452078, + "countryCode": "US" + }, + { + "name": "Nashville", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2457170", + "parentid": 23424977, + "country": "United States", + "woeid": 2457170, + "countryCode": "US" + }, + { + "name": "New Haven", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2458410", + "parentid": 23424977, + "country": "United States", + "woeid": 2458410, + "countryCode": "US" + }, + { + "name": "New Orleans", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2458833", + "parentid": 23424977, + "country": "United States", + "woeid": 2458833, + "countryCode": "US" + }, + { + "name": "New York", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2459115", + "parentid": 23424977, + "country": "United States", + "woeid": 2459115, + "countryCode": "US" + }, + { + "name": "Norfolk", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2460389", + "parentid": 23424977, + "country": "United States", + "woeid": 2460389, + "countryCode": "US" + }, + { + "name": "Oklahoma City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2464592", + "parentid": 23424977, + "country": "United States", + "woeid": 2464592, + "countryCode": "US" + }, + { + "name": "Omaha", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2465512", + "parentid": 23424977, + "country": "United States", + "woeid": 2465512, + "countryCode": "US" + }, + { + "name": "Orlando", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2466256", + "parentid": 23424977, + "country": "United States", + "woeid": 2466256, + "countryCode": "US" + }, + { + "name": "Philadelphia", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2471217", + "parentid": 23424977, + "country": "United States", + "woeid": 2471217, + "countryCode": "US" + }, + { + "name": "Phoenix", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2471390", + "parentid": 23424977, + "country": "United States", + "woeid": 2471390, + "countryCode": "US" + }, + { + "name": "Pittsburgh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2473224", + "parentid": 23424977, + "country": "United States", + "woeid": 2473224, + "countryCode": "US" + }, + { + "name": "Portland", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2475687", + "parentid": 23424977, + "country": "United States", + "woeid": 2475687, + "countryCode": "US" + }, + { + "name": "Providence", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2477058", + "parentid": 23424977, + "country": "United States", + "woeid": 2477058, + "countryCode": "US" + }, + { + "name": "Raleigh", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2478307", + "parentid": 23424977, + "country": "United States", + "woeid": 2478307, + "countryCode": "US" + }, + { + "name": "Richmond", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2480894", + "parentid": 23424977, + "country": "United States", + "woeid": 2480894, + "countryCode": "US" + }, + { + "name": "Sacramento", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2486340", + "parentid": 23424977, + "country": "United States", + "woeid": 2486340, + "countryCode": "US" + }, + { + "name": "St. Louis", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2486982", + "parentid": 23424977, + "country": "United States", + "woeid": 2486982, + "countryCode": "US" + }, + { + "name": "Salt Lake City", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2487610", + "parentid": 23424977, + "country": "United States", + "woeid": 2487610, + "countryCode": "US" + }, + { + "name": "San Antonio", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2487796", + "parentid": 23424977, + "country": "United States", + "woeid": 2487796, + "countryCode": "US" + }, + { + "name": "San Diego", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2487889", + "parentid": 23424977, + "country": "United States", + "woeid": 2487889, + "countryCode": "US" + }, + { + "name": "San Francisco", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2487956", + "parentid": 23424977, + "country": "United States", + "woeid": 2487956, + "countryCode": "US" + }, + { + "name": "San Jose", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2488042", + "parentid": 23424977, + "country": "United States", + "woeid": 2488042, + "countryCode": "US" + }, + { + "name": "Seattle", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2490383", + "parentid": 23424977, + "country": "United States", + "woeid": 2490383, + "countryCode": "US" + }, + { + "name": "Tallahassee", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2503713", + "parentid": 23424977, + "country": "United States", + "woeid": 2503713, + "countryCode": "US" + }, + { + "name": "Tampa", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2503863", + "parentid": 23424977, + "country": "United States", + "woeid": 2503863, + "countryCode": "US" + }, + { + "name": "Tucson", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2508428", + "parentid": 23424977, + "country": "United States", + "woeid": 2508428, + "countryCode": "US" + }, + { + "name": "Virginia Beach", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2512636", + "parentid": 23424977, + "country": "United States", + "woeid": 2512636, + "countryCode": "US" + }, + { + "name": "Washington", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/2514815", + "parentid": 23424977, + "country": "United States", + "woeid": 2514815, + "countryCode": "US" + }, + { + "name": "Osaka", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/15015370", + "parentid": 23424856, + "country": "Japan", + "woeid": 15015370, + "countryCode": "JP" + }, + { + "name": "Kyoto", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/15015372", + "parentid": 23424856, + "country": "Japan", + "woeid": 15015372, + "countryCode": "JP" + }, + { + "name": "Delhi", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/20070458", + "parentid": 23424848, + "country": "India", + "woeid": 20070458, + "countryCode": "IN" + }, + { + "name": "United Arab Emirates", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424738", + "parentid": 1, + "country": "United Arab Emirates", + "woeid": 23424738, + "countryCode": "AE" + }, + { + "name": "Algeria", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424740", + "parentid": 1, + "country": "Algeria", + "woeid": 23424740, + "countryCode": "DZ" + }, + { + "name": "Argentina", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424747", + "parentid": 1, + "country": "Argentina", + "woeid": 23424747, + "countryCode": "AR" + }, + { + "name": "Australia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424748", + "parentid": 1, + "country": "Australia", + "woeid": 23424748, + "countryCode": "AU" + }, + { + "name": "Austria", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424750", + "parentid": 1, + "country": "Austria", + "woeid": 23424750, + "countryCode": "AT" + }, + { + "name": "Bahrain", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424753", + "parentid": 1, + "country": "Bahrain", + "woeid": 23424753, + "countryCode": "BH" + }, + { + "name": "Belgium", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424757", + "parentid": 1, + "country": "Belgium", + "woeid": 23424757, + "countryCode": "BE" + }, + { + "name": "Belarus", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424765", + "parentid": 1, + "country": "Belarus", + "woeid": 23424765, + "countryCode": "BY" + }, + { + "name": "Brazil", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424768", + "parentid": 1, + "country": "Brazil", + "woeid": 23424768, + "countryCode": "BR" + }, + { + "name": "Canada", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424775", + "parentid": 1, + "country": "Canada", + "woeid": 23424775, + "countryCode": "CA" + }, + { + "name": "Chile", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424782", + "parentid": 1, + "country": "Chile", + "woeid": 23424782, + "countryCode": "CL" + }, + { + "name": "Colombia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424787", + "parentid": 1, + "country": "Colombia", + "woeid": 23424787, + "countryCode": "CO" + }, + { + "name": "Denmark", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424796", + "parentid": 1, + "country": "Denmark", + "woeid": 23424796, + "countryCode": "DK" + }, + { + "name": "Dominican Republic", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424800", + "parentid": 1, + "country": "Dominican Republic", + "woeid": 23424800, + "countryCode": "DO" + }, + { + "name": "Ecuador", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424801", + "parentid": 1, + "country": "Ecuador", + "woeid": 23424801, + "countryCode": "EC" + }, + { + "name": "Egypt", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424802", + "parentid": 1, + "country": "Egypt", + "woeid": 23424802, + "countryCode": "EG" + }, + { + "name": "Ireland", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424803", + "parentid": 1, + "country": "Ireland", + "woeid": 23424803, + "countryCode": "IE" + }, + { + "name": "France", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424819", + "parentid": 1, + "country": "France", + "woeid": 23424819, + "countryCode": "FR" + }, + { + "name": "Ghana", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424824", + "parentid": 1, + "country": "Ghana", + "woeid": 23424824, + "countryCode": "GH" + }, + { + "name": "Germany", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424829", + "parentid": 1, + "country": "Germany", + "woeid": 23424829, + "countryCode": "DE" + }, + { + "name": "Greece", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424833", + "parentid": 1, + "country": "Greece", + "woeid": 23424833, + "countryCode": "GR" + }, + { + "name": "Guatemala", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424834", + "parentid": 1, + "country": "Guatemala", + "woeid": 23424834, + "countryCode": "GT" + }, + { + "name": "Indonesia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424846", + "parentid": 1, + "country": "Indonesia", + "woeid": 23424846, + "countryCode": "ID" + }, + { + "name": "India", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424848", + "parentid": 1, + "country": "India", + "woeid": 23424848, + "countryCode": "IN" + }, + { + "name": "Israel", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424852", + "parentid": 1, + "country": "Israel", + "woeid": 23424852, + "countryCode": "IL" + }, + { + "name": "Italy", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424853", + "parentid": 1, + "country": "Italy", + "woeid": 23424853, + "countryCode": "IT" + }, + { + "name": "Japan", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424856", + "parentid": 1, + "country": "Japan", + "woeid": 23424856, + "countryCode": "JP" + }, + { + "name": "Jordan", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424860", + "parentid": 1, + "country": "Jordan", + "woeid": 23424860, + "countryCode": "JO" + }, + { + "name": "Kenya", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424863", + "parentid": 1, + "country": "Kenya", + "woeid": 23424863, + "countryCode": "KE" + }, + { + "name": "Korea", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424868", + "parentid": 1, + "country": "Korea", + "woeid": 23424868, + "countryCode": "KR" + }, + { + "name": "Kuwait", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424870", + "parentid": 1, + "country": "Kuwait", + "woeid": 23424870, + "countryCode": "KW" + }, + { + "name": "Lebanon", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424873", + "parentid": 1, + "country": "Lebanon", + "woeid": 23424873, + "countryCode": "LB" + }, + { + "name": "Latvia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424874", + "parentid": 1, + "country": "Latvia", + "woeid": 23424874, + "countryCode": "LV" + }, + { + "name": "Oman", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424898", + "parentid": 1, + "country": "Oman", + "woeid": 23424898, + "countryCode": "OM" + }, + { + "name": "Mexico", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424900", + "parentid": 1, + "country": "Mexico", + "woeid": 23424900, + "countryCode": "MX" + }, + { + "name": "Malaysia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424901", + "parentid": 1, + "country": "Malaysia", + "woeid": 23424901, + "countryCode": "MY" + }, + { + "name": "Nigeria", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424908", + "parentid": 1, + "country": "Nigeria", + "woeid": 23424908, + "countryCode": "NG" + }, + { + "name": "Netherlands", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424909", + "parentid": 1, + "country": "Netherlands", + "woeid": 23424909, + "countryCode": "NL" + }, + { + "name": "Norway", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424910", + "parentid": 1, + "country": "Norway", + "woeid": 23424910, + "countryCode": "NO" + }, + { + "name": "New Zealand", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424916", + "parentid": 1, + "country": "New Zealand", + "woeid": 23424916, + "countryCode": "NZ" + }, + { + "name": "Peru", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424919", + "parentid": 1, + "country": "Peru", + "woeid": 23424919, + "countryCode": "PE" + }, + { + "name": "Pakistan", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424922", + "parentid": 1, + "country": "Pakistan", + "woeid": 23424922, + "countryCode": "PK" + }, + { + "name": "Poland", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424923", + "parentid": 1, + "country": "Poland", + "woeid": 23424923, + "countryCode": "PL" + }, + { + "name": "Panama", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424924", + "parentid": 1, + "country": "Panama", + "woeid": 23424924, + "countryCode": "PA" + }, + { + "name": "Portugal", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424925", + "parentid": 1, + "country": "Portugal", + "woeid": 23424925, + "countryCode": "PT" + }, + { + "name": "Qatar", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424930", + "parentid": 1, + "country": "Qatar", + "woeid": 23424930, + "countryCode": "QA" + }, + { + "name": "Philippines", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424934", + "parentid": 1, + "country": "Philippines", + "woeid": 23424934, + "countryCode": "PH" + }, + { + "name": "Puerto Rico", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424935", + "parentid": 1, + "country": "Puerto Rico", + "woeid": 23424935, + "countryCode": "PR" + }, + { + "name": "Russia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424936", + "parentid": 1, + "country": "Russia", + "woeid": 23424936, + "countryCode": "RU" + }, + { + "name": "Saudi Arabia", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424938", + "parentid": 1, + "country": "Saudi Arabia", + "woeid": 23424938, + "countryCode": "SA" + }, + { + "name": "South Africa", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424942", + "parentid": 1, + "country": "South Africa", + "woeid": 23424942, + "countryCode": "ZA" + }, + { + "name": "Singapore", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424948", + "parentid": 1, + "country": "Singapore", + "woeid": 23424948, + "countryCode": "SG" + }, + { + "name": "Spain", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424950", + "parentid": 1, + "country": "Spain", + "woeid": 23424950, + "countryCode": "ES" + }, + { + "name": "Sweden", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424954", + "parentid": 1, + "country": "Sweden", + "woeid": 23424954, + "countryCode": "SE" + }, + { + "name": "Switzerland", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424957", + "parentid": 1, + "country": "Switzerland", + "woeid": 23424957, + "countryCode": "CH" + }, + { + "name": "Thailand", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424960", + "parentid": 1, + "country": "Thailand", + "woeid": 23424960, + "countryCode": "TH" + }, + { + "name": "Turkey", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424969", + "parentid": 1, + "country": "Turkey", + "woeid": 23424969, + "countryCode": "TR" + }, + { + "name": "United Kingdom", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424975", + "parentid": 1, + "country": "United Kingdom", + "woeid": 23424975, + "countryCode": "GB" + }, + { + "name": "Ukraine", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424976", + "parentid": 1, + "country": "Ukraine", + "woeid": 23424976, + "countryCode": "UA" + }, + { + "name": "United States", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424977", + "parentid": 1, + "country": "United States", + "woeid": 23424977, + "countryCode": "US" + }, + { + "name": "Venezuela", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424982", + "parentid": 1, + "country": "Venezuela", + "woeid": 23424982, + "countryCode": "VE" + }, + { + "name": "Vietnam", + "placeType": { + "code": 12, + "name": "Country" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/23424984", + "parentid": 1, + "country": "Vietnam", + "woeid": 23424984, + "countryCode": "VN" + }, + { + "name": "Petaling", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/56013632", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 56013632, + "countryCode": "MY" + }, + { + "name": "Hulu Langat", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/56013645", + "parentid": 23424901, + "country": "Malaysia", + "woeid": 56013645, + "countryCode": "MY" + }, + { + "name": "Ahsa", + "placeType": { + "code": 9, + "name": "Unknown" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/56120136", + "parentid": 23424938, + "country": "Saudi Arabia", + "woeid": 56120136, + "countryCode": "SA" + }, + { + "name": "Okayama", + "placeType": { + "code": 7, + "name": "Town" + }, + "url": "http:\/\/where.yahooapis.com\/v1\/place\/90036018", + "parentid": 23424856, + "country": "Japan", + "woeid": 90036018, + "countryCode": "JP" + } +] \ No newline at end of file