Как перебрать строку json, которая содержит массив объектов в контроллере - PullRequest
0 голосов
/ 10 сентября 2018

Я преобразовал массив объекта в строку json в jsp следующим образом

$("#submitButton").click(function(){

        var sample = new Array();

           var k = 1;
            for(var i=0; i < JSONObj.length; i++){ 

               var remarkString = $("#eduRemark"+k).val();
               var scoreNum = $("#eduScore"+k).val();

               var objectInfo = {"iqrQuestionRemark":remarkString, "iqrQuestionScore":scoreNum,"crtnByUmId":""};
               sample.push(objectInfo);

                k++;
            } 

        var ArrayData = JSON.stringify(sample);
         alert("Json Data:"+ArrayData); 

            $.ajax({
                  type: "POST",
                  contentType : 'application/json; charset=utf-8',
                  dataType : 'json',
                  url: "/Vidyasaarathi/ipusers/submitAssessmentform",
                  data: ArrayData, 
                  success :function(result) {

                            }
                });


        });

Ajax-вызов работает нормально. На стороне контроллера я получаю список объектов в виде строки. в следующем формате

[{"iqrQuestionRemark":"nitin","iqrQuestionScore":"10","crtnByUmId":""},{"iqrQuestionRemark":"akash","iqrQuestionScore":"12","crtnByUmId":""},{"iqrQuestionRemark":"sharad","iqrQuestionScore":"14","crtnByUmId":""}]

Теперь мой вопрос заключается в том, как выполнить итерацию этого массива объектов индивидуально на стороне контроллера.

Вот мой код контроллера

@RequestMapping(value={VspCommonConstants.INTERVIEW_PANEL_MANAGER_URL+"/submitAssessmentform"}, method = RequestMethod.POST)
    public String submitAssessmentform(@RequestBody List<InterviewQuestionResult> ArrayData,HttpServletRequest request,Model model) throws JsonParseException, JsonMappingException, IOException
    {

        ObjectMapper mapper = new ObjectMapper();
        //String [] actualData = mapper.readValue(ArrayData, String[].class);
        //System.out.println("Json converted Data:"+actualData);
        System.out.println("Result object:"+ArrayData);
        String view = null;

        try {
            view = "ipsearchForm";
        } catch (Exception e) {
            model.addAttribute("errormsg", "System is busy...... Please try after some time.");

        }
        return view;
    }

Пожалуйста, предложите какой-нибудь возможный способ. Здесь я пытаюсь назначить строку json бину 'InterviewQuestionResult', который имеет установщик геттера. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...