2017-06-27 80 views
0

這是我的包裝類,顯示值在頂點控制器

public class JSON2Apex { 

    public class JSON2Apex { 
     public List<Results> results; 
     public String status; 
    } 

    public class Location { 
     public Double lat; 
     public Double lng; 
    } 


    public static JSON2Apex parse(String json) { 
     return (JSON2Apex) System.JSON.deserialize(json, JSON2Apex.class); 
    } 
} 

我的頂點控制器,

public class callout 
{ 
    @future(callout=true) 
    public static void callout(String add,Id cntid) 
    { 
     Http http = new Http(); 
     HttpRequest req = new HttpRequest(); 
     req.setEndpoint('https://maps.googleapis.com/maps/api/geocode/json?address='+add+'&key=AIzaSyDvf7W2SWXwUPXy8X2PSIGM6NwVusZywx4'); 
     req.setMethod('GET'); 
     HTTPResponse res = http.send(req); 
     if(res.getStatusCode()==200) 
     { 
      JSON2Apex2 obj = (JSON2Apex2)JSON.deserialize(res.getBody(), JSON2Apex2.class); 
      System.debug('Here I want to diplay lat and lng values'); 
     } 
    } 
} 

在這裏,我想顯示在頂部的定位方法緯度和經度值控制器,如何做到這一點?

回答

0

目前你不能因爲你沒有內部類的實例作爲外部類的屬性,所以它不會作爲類的一部分公開。你需要一個像currentLocation或類似的屬性。

編輯答案更新屬性名稱:

public class JSON2Apex { 

    public Location location {get; set;} 

    public class JSON2Apex { 
     public List<Results> results; 
     public String status; 
    } 

    public class Location { 
     public Double lat; 
     public Double lng; 
    } 


    public static JSON2Apex parse(String json) { 
     return (JSON2Apex) System.JSON.deserialize(json, JSON2Apex.class); 
    } 
} 

然後你的其他代碼示例中這將是

System.debug('Here I want to diplay lat and lng values' + obj.location.lat + ' ' + obj.location.lng); 
+0

沒有,這表明試圖引用空對象error.There是沒有價值在當前位置 –

+0

你的json響應是什麼樣的? –

+0

我不知道你的json是什麼樣子,爲什麼我說像當前位置或類似的東西。但只是進行類似的調用,房產名稱最有可能是「位置」。所以我會更新答案。 –