You need to sign in to do that
Don't have an account?

test class to serialize and deserialize json
Hi,
I need to update the test class to serialize/deserialize json based data.
Can someone pls let me know how to go abt with??
I need to update the test class to serialize/deserialize json based data.
Can someone pls let me know how to go abt with??
@RestResource(urlMapping='/ApexCallout/*') global class ApexCallout { @HttpPost global static String doPost(String value1, String value2) { String passVal = 'TEST'; try { if(value1 == 'Account') { Account a = (Account) JSON.deserialize(value2, Account.class); if(a.Id == null) insert a; } return passVal; } public static String dmlCallout(String value1, String value2) { Http rh = new Http(); HttpRequest req = new HttpRequest(); req.setMethod('POST'); req.setHeader('content-type', 'application/json'); req.setHeader('Host', 'ap1.salesforce.com'); req.setEndpoint(Endpoint); Map<String, String> body = new Map<String, String>(); body.put('value1', value1); body.put('value2', value2); String sbody = JSON.serialize(body); req.setHeader('Content-Length', String.valueOf(sbody.length())); req.setBody(sbody); HTTPResponse res = rh.send(req); if(res.getStatusCode() == 500) { String jsonString = res.getBody(); jsonString = jsonString.substring(1, jsonString.length() - 1); Map<String, String> error = (Map<String, String>)JSON.deserialize(jsonString, Map<String, String>.class); String errorMsg = error.get('message'); errorMsg = (errorMsg == null ? '' : errorMsg); throw new Exception('' + eMsg + ''); } String passVal = res.getBody(); return passVal; } public static String update(Account a) { return dmlCallout('Account', JSON.serialize(a)); } }
Can you please expand on what you are trying to do and what you have already done? If you are trying to do a mock result for your HTTP callout you can either generate the object you want to return and JSON.serialize it or you can simply create the expected JSON as a string.