I replicated your scenario, Below code gives the required result:
public class manageFiltersDELETE {
public static WrapperLine manageFilters(Map<String, String> lines){
// System.debug('##--Lines: '+JSON.deserializeUntyped(lines.get('1')));
List<Object> reqBody = (List<Object>)JSON.deserializeUntyped(lines.get('1'));
manageFiltersDELETE manageFiltersDELobj = new manageFiltersDELETE();
WrapperLine wrapObj = new WrapperLine((Map<String, Object>)reqBody[0]);
System.debug('##--wrapObj: '+wrapObj);
return wrapObj;
}
public class WrapperLine {
@AuraEnabled
public String ObjectName;
@AuraEnabled
public String FieldName;
@AuraEnabled
public String Operator;
@AuraEnabled
public String Value;
@AuraEnabled
public String FieldType;
public WrapperLine(Map<String, Object> lines){
ObjectName = (String)lines.get('ObjectName');
FieldName = (String)lines.get('FieldName');
Operator = (String)lines.get('Operator');
Value = (String)lines.get('Value');
FieldType = (String)lines.get('FieldType');
}
}}
and call above class method like below:
Map<String, String> mapFilters = new Map<String, String>();
String filter = '[{"FieldName":"AccountId","FieldType":"lookup-Account","ObjectName":"Opportunity","Operator":"=","Value":"0016E00000TIZUYQA5"}]';
mapFilters.put('1', filter);
manageFiltersDELETE.WrapperLine returnBody = manageFiltersDELETE.manageFilters(mapFilters);
JSON.deserialize(jsonString, List<WrapperLine>.class)
String jsonString = '[{"FieldName":"AccountId","FieldType":"lookup-Account","ObjectName":"Opportunity","Operator":"=","Value":"0016E00000TIZUYQA5"}]'; List<WrapperLine> alist = (List<WrapperLine>)JSON.deserialize(jsonString, List<WrapperLine>.class);