Я не могу поместить значения моего списка массивов в мой jsonObjectReturn

#java #arrays #arraylist

#java #массивы #arraylist

Вопрос:

Я пытаюсь поместить значения из моего списка массивов в мой jsonObjectReturn, но я не могу его поместить. Он просто возвращает значение 0. Вот мой фрагмент кода:

 List<String> values = new LinkedList<String>();

        jsonObjectReturn =  JSONFactoryUtil.createJSONObject();

        for (int i = 4; i <= 27; i  ) {
            values.add(callableStatement.getString(i));
            ..//I'm getting the values here..

        }

        System.out.println("The list: "   values.toString());
  

результатом этого является список: [118708139, я, , ЛАБРАМОНТЕ, ИИСУС, КАЛУМПИАНО, 000, 127, УЛ. МАЙОН, , , КЕСОН-СИТИ, , 000, 033, 00003, , , , , A, C, R, 0]

         for (String element: values){
            jsonObjectReturn.put("tpTin", element);
            jsonObjectReturn.put("tpClsfCode",  element);
            jsonObjectReturn.put("tpRegisteredName",  element);
            jsonObjectReturn.put("tpLname",  element);
            jsonObjectReturn.put("tpFname",  element);
            jsonObjectReturn.put("tpMname",  element);
            jsonObjectReturn.put("tpaBranchCode",  element);
            jsonObjectReturn.put("tpaSubstreet",  element);
            jsonObjectReturn.put("tpaStreet",  element);
            jsonObjectReturn.put("tpaBarangay",  element);
            jsonObjectReturn.put("tpaDistrict",  element);
            jsonObjectReturn.put("tpaCity",  element);
            jsonObjectReturn.put("tpaZipCode",  element);
            jsonObjectReturn.put("tplBranchCode",  element);
            jsonObjectReturn.put("tplRdoCode",  element);
            jsonObjectReturn.put("tplMunCode",  element);
            jsonObjectReturn.put("tplContactLname",  element);
            jsonObjectReturn.put("tplContactFname",  element);
            jsonObjectReturn.put("tplContactMname",  element);
            jsonObjectReturn.put("tplContactTelno",  element);
            jsonObjectReturn.put("tpStatus",  element);
            jsonObjectReturn.put("tpaStatusCode",  element);
            jsonObjectReturn.put("tpaRegisterFlag",  element);
            jsonObjectReturn.put("oTin",  element);

            System.out.println("test "   element);


        }
        System.out.println("The list2: "  jsonObjectReturn);
  

результат теста — test 118708139 test I
test
test LABRAMONTE
test JESUS
test CALUMPIANO
test 000
test 127
test MAYON ST
test
test
test КЕСОН СИТИ
тест
test 000
test 033
test 00003
test test test
test
test
test
test A
test C
test R
test 0

, а результатом list2 является list2: {«tpaDistrict»:»0″,»tpaBranchCode»:»0″,»tpaStreet»:»0″,»tpaRegisterFlag»:»0″,»tpaStatusCode»:»0″,»tplContactFname»:»0″,»tpClsfCode»:»0″,»oTin»:»0″,»tpFname»:»0″,»tpaCity»:»0″,»tplRdoCode»:»0″,»tpaBarangay»:»0″,»tpTin»:»0″,»tplContactMname»:»0″,»tpRegisteredName»:»0″,»tpMname»:»0″,»tpaZipCode»:»0″,»tplBranchCode»:»0″,»tpStatus»:»0″,»tpaSubstreet»:»0″,»tplContactTelno»:»0″,»tplMunCode»:»0″,»tplContactLname»:»0″,»tpLname»:»0″}

теперь я хочу, чтобы значения «test» были помещены в мой jsonObjectReturn. Я попытался поместить его в forloop, но я могу получить только «0» в качестве значений. Спасибо

Ответ №1:

ваш for..each цикл является виновником. на самом деле это заканчивается установкой ПОСЛЕДНЕГО ЭЛЕМЕНТА вашего JSON (который равен нулю) для всех ваших jsonObjectReturn ключей

поскольку порядок предопределен (я понял, поскольку вы используете a LinkedList ), просто используйте это для установки jsonObjectReturn значений:

 jsonObjectReturn.put("tpTin", values[0]);
jsonObjectReturn.put("tpClsfCode", values[1]);
// and so on..