Внутренний объект (ArrayList) не конвертируется в строку JSON? - PullRequest
1 голос
/ 26 апреля 2019

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

Я попробовал некоторые базовые итерации, используя JsonNode root = mapper.valueToTree (obj), чтобы я мог перебирать внутренний массив, но я не получаю результат. Я новичок в этом преобразовании синтаксического анализа.

фрагмент кода -

public class JsonUtils {

  public static <T> String toJsonString(final T obj) throws IOException {
    final ObjectMapper mapper = new ObjectMapper();
    String jsonString = null;
    try {
        //JsonNode root = mapper.valueToTree(obj);
        jsonString = mapper.writeValueAsString(obj);
    } catch (final JsonProcessingException e) {
        throw e;
    } catch (IOException e) {
        throw e;
    }
    return jsonString;
  }

  public static <T> String toJsonString(final List<T> lstObject) throws JSONException, IOException {
    final JSONArray jsonArray = new JSONArray();
    for (final T object : lstObject) {
        final String json = JsonUtils.toJsonString(object);
        final JSONObject jsonObj = new JSONObject(json);
        jsonArray.put(jsonObj);
    }
    return jsonArray.toString();
  }
}

Итак, вот результат, который я получаю -

[2, [{"geoMarketId":1,"geoname":"AP","geoId":1,"checked":false}, 
{"geoMarketId":7,"geoname":"EP","geoId":2,"checked":false},
{"geoMarketId":16,"geoname":"Japan","geoId":3,"checked":true},
{"geoMarketId":18,"geoname":"LA","geoId":4,"checked":true},
{"geoMarketId":22,"geoname":"MEA","geoId":5,"checked":true},
{"geoMarketId":24,"geoname":"NA","geoId":6,"checked":false}]]

Фактический результат, который должен прийти-

{"geoMarketId":1,"geoname":"AP","geoId":1,"checked":false,
marketName:{"marketname":JP,"marketname":"AP","marketname":MP}}

Мое преобразование JSON игнорирует этот внутренний список в том же индексе.

Есть ли какой-нибудь способ, которым мой класс json может выполнять итерацию, а также преобразовывать этот внутренний список в JSON?

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