2017-06-27 10 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); 
    } 
} 

マイ頂点コントローラは、

私は頂点にある場所の方法で緯度とLNGの値を表示したい。ここ
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

いいえ、それはnullオブジェクトerror.Thereを参照しようとする試みが値ではありません示しだろう現在の場所 –

+0

あなたのjsonレスポンスはどのように見えますか? –

+0

私はあなたのjsonが現在の場所または同様のもののようなプロパティを言った理由を知っていません。しかし同様の呼び出しを行うだけで、プロパティ名は "場所"となる可能性が最も高いです。私は答えを更新します。 –