2010-10-20 53 views
1

這可能是一個常見的問題,但我無法弄清楚如何防止我的解析錯誤當腳本無法找到一個屬性...很難與JSON和谷歌地圖

在XML很容易,因爲連空的性質是一樣<location/>

但現在如果location不可用JSON PASER不能找到它,它會導致錯誤的......或者

可能發生的JSON有不同的屬性或兒童失去了父親。 ....因此,例如,如果您需要提取LocalityName不再根據SubAdministrativeArea但在AddressLine ...

你們有什麼經驗嗎?解決它並解析它的最好方法是什麼?

+2

發佈您的代碼,以便我們可以看到您目前如何嘗試這樣做 - 那麼我們可以更輕鬆地爲您提供幫助。 – 2010-10-20 15:16:49

回答

0

如果我得到這個權利,你正在使用庫轉換爲json像gson嘗試在java中構建像arrayList一樣的對象數組,然後轉換爲json,因此您以後在javascript中檢索的每個對象是不同的,因此清除在調試過程中。如果你不使用螢火蟲給它嘗試,因爲它顯示json數據清晰.cheers

1

雖然回答你的其他問題之一,我已經寫了下面的JavaScript代碼來獲取從JSON lat和lng由地圖api返回而沒有任何驗證結果爲零。

$.getJSON("getjson.php?address="+address, 
     function(data){ 
      lat=data.results[0].geometry.location.lat; 
      lng=data.results[0].geometry.location.lng; 
        //.....map initialization code  
     }  
    ); 

現在,如果我是來驗證零分的結果,我會修改以下方式

$.getJSON("getjson.php?address="+address, 
      function(data){ 
       if (data.result.length>0) { 
          for (count=0;count<data.result.length;count++){ 
          lat=data.results[count].geometry.location.lat; 
          lng=data.results[count].geometry.location.lng; 
          //.....map initialization code  
          } 
         } 
       } 
     ); 

代碼正如你所看到的解析JSON順其自然JavaScript和許多其他語言它解決了數組/列表和對象/字典/散列。