I am currently receving a JSON
packet from an external server and placing the values in variables for further use. The JSON
packet has an array that can and will grow depending on the amount of assets being sent over. I am not able to get
any of the values from the array to place in any of my other variables.
@RestResource(urlMapping='/assets')
global with sharing class asset_REST_controller {
@HttpPost
global static void doPost(String jsonPayload) {
String sf_ord_num;
String asset_id;
String product_code;
String product_descrip;
String serial_numb;
String start_date_raw;
Datetime start_date;
List<Object> asset_info;
Map<String, Object> deserialized_response =
(Map<String, Object>)JSON.deserializeUntyped(jsonPayload);
sf_order_number =
(String)deserialized_response.get('sf_order_num');
start_date_raw =
(String)deserialized_response.get('start_date');
start_date =
(Datetime)JSON.deserialize('"' + start_date_raw + '"', DateTime.class);
asset_info = (List<Object>)deserialized_response.get('asset_info');
}
}
The incoming JSON
packet looks like this:
jsonPayload: {"sf_ord_numb":"12345","start_date":"2020-01-15T00:00:00Z","asset_info":[{"product_code":"TEST","product_descrip":"This is a test","asset_id":"01543234321234","serial-numb":""}]}