4

This is my updated class

public class ConvertCurrencyWS
{

public class ResponsWS
{

String id;
String quote;

}

public void getConvertCurrency()
{

Http h = new Http();

HttpRequest req = new HttpRequest();
req.setEndPoint('http://gturnquist-quoters.cfapps.io/api/random');
req.setMethod('GET');

HttpResponse resp = h.send(req);
//return  resp.getBody();
String resstring = resp.getBody();
ResponsWS r = (ResponsWS)JSON.deserialize(resstring,ResponsWS.class);

System.debug('Response is '+resstring);
System.debug('The quote is '+r.Id+'   '+r.quote);



}


}

Q :

It works but the json serializing is not happening somehow as because the second debug returns as "null" for both the id & quote as shown below.

Can someone tell me why both the values are returning as null ?

enter image description here

3
  • It looks like a certificate issue for me pls make sure on this. Commented Sep 6, 2015 at 6:34
  • @SalesforceLearner You are right...I have found out that the particular API needs certificate...I am now trying with another API and have encountered another issue..can you see ?...I have updated the question now
    – Varun
    Commented Sep 6, 2015 at 6:52
  • Updated the post
    – Varun
    Commented Sep 6, 2015 at 7:00

1 Answer 1

4

You could make your own class that you deserialize it into:

public class MyWebserviceResponse{

    public string type;
    public ValueClass value;

    public class ValueClass{
        public integer id;
        public string quote;
    }

}
4
  • @Martin...Thanks But even after deserializing I am getting null in the class's value...please take a look at my update
    – Varun
    Commented Sep 6, 2015 at 7:24
  • @ZenSeeker I think the problem is that the class variables are not visible when you are deserializing the JSON string. Try making them public.
    – martin
    Commented Sep 6, 2015 at 7:31
  • Hmm..I tried them as public but still no luck :(
    – Varun
    Commented Sep 6, 2015 at 7:36
  • @ZenSeeker I figured it out, we need to have this as a subclass. I'll update my answer.
    – martin
    Commented Sep 6, 2015 at 8:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .