У меня возникла проблема, когда я хочу обновить студенческое приложение из возвращенной полезной нагрузки JSON из lwc.

  1. Я пытаюсь пройтись по списку
  2. Я пытаюсь просмотреть карту и обновить студенческое приложение.

Сообщение об ошибке

The method does not exist or incorrect signature: void get(String) from the type String
ap.Id = app.get('appId'); 

Я также пробовал следующее ap.Id = (String) app.get('appId');

    @AuraEnabled
    public static List<TargetX_SRMb__Application__c> updateAllRecords(List<Map<String, Object>> students) {
        List<TargetX_SRMb__Application__c> sample = new List<TargetX_SRMb__Application__c>();
        for(Map<String, Object> application: students){
            for(String app : application.keyset()){
              TargetX_SRMb__Application__c ap = new TargetX_SRMb__Application__c();
                ap.Id = app.get('appId');
                ap.AIS_Medical_Release__c = app.get('medPickListValue');
                sample.add(ap);  
            } 
        }

       update sample;
       return sample;   
    }

1
Davis Handler 27 Май 2020 в 01:35
Я написал ответ с тем, как, по моему мнению, может выглядеть ваш JSON/объект, если он не работает, пожалуйста, обновите свой вопрос с помощью образца JSON/объекта, чтобы узнать, какова структура, которую вы отправляете методу.
 – 
Sergio Alcocer
27 Май 2020 в 01:48

1 ответ

Лучший ответ

Я думаю, что вы слишком много зацикливаетесь, вам следует удалить второй цикл for и соответствующее ему закрытие } и вывести строку из объекта с помощью String.valueOf()

    @AuraEnabled
    public static List<TargetX_SRMb__Application__c> updateAllRecords(List<Map<String, Object>> students) {
        List<TargetX_SRMb__Application__c> sample = new List<TargetX_SRMb__Application__c>();
        for(Map<String, Object> application: students){
            //for(String app : application.keyset()){
                TargetX_SRMb__Application__c ap = new TargetX_SRMb__Application__c();
                  ap.Id = String.valueOf(app.get('appId'));
                  ap.AIS_Medical_Release__c = String.valueOf(app.get('medPickListValue'));
                sample.add(ap);  
            //} 
        }

       update sample;
       return sample;   
    }
3
Sergio Alcocer 27 Май 2020 в 01:41
Привет, @sergio-alcocer, это сработало отлично. Я не знаю, почему я сделал двойную петлю. Спасибо!
 – 
Davis Handler
27 Май 2020 в 06:30