在another thread中,給出了一個具體示例如何訪問特定的密鑰。 無論如何,編碼一個可以訪問任意密鑰的子節點時是否有最佳實踐?例如,sub get_lat
將是一個具體的屬性 - 緯度。但關注更普遍的選項,如sub get_value_by_keys($$$)
。 &get_value_by_keys(bounds,northeast,lat)
將返回51.4770228
。如何使用帶有通用潛艇的Perl結構?
address_components => [
{
long_name => "Blackheath Avenue",
short_name => "Blackheath Ave",
types => ["route"],
},
{
long_name => "Greater London",
short_name => "Gt Lon",
types => ["administrative_area_level_2", "political"],
},
{
long_name => "United Kingdom",
short_name => "GB",
types => ["country", "political"],
},
{
long_name => "SE10 8XJ",
short_name => "SE10 8XJ",
types => ["postal_code"],
},
{
long_name => "London", short_name => "London", types => ["postal_town"]
},
],
formatted_address => "Blackheath Avenue, London SE10 8XJ, UK",
geometry => {
bounds => {
northeast => { lat => 51.4770228, lng => 0.0005404 },
southwest => { lat => 51.4762273, lng => -0.0001147 },
},
location => { lat => 51.4766277, lng => 0.0002212 },
location_type => "APPROXIMATE",
viewport => {
northeast => { lat => 51.4779740302915, lng => 0.00156183029150203 },
southwest => { lat => 51.4752760697085, lng => -0.00113613029150203 },
},
},
types => ["route"],
}
任何提示如何解決這個問題,以及如何應對這樣的結構?
你的數據結構有一個多餘的大括號,並且不是有效的Perl。請張貼將編譯的東西。 – Borodin
這是從舊系統日誌輸出的數據轉儲,也就是Data :: Dumper的返回值,據我所知關於由地理編碼器返回的位置。這不應該編譯,因爲它不是一個代碼。 – mnemonic
'Data :: Dumper'生成有效的,可編譯的Perl代碼。但是您發佈的示例已被截斷,因此它不再有效。請張貼全部。 – Borodin