Преобразовать массив ключ = значение строки в JSON в JAVA - PullRequest
1 голос
/ 18 марта 2020

У меня есть строка значения ключа нескольких массивов

Например:

    {
  filters=[
    {
      eventConfig={
        success=1.0,
        bgColor=#27AE60,
        successText=Yes
      },
      prid=9.0,
      name=abc,
      prqt=1.0,
      price=199.89
    },
    {
      eventConfig={
        success=1.0,
        bgColor=#27AE60,
        successText=Yes
      },
      name=abc,
      prid=10.0,
      price=99.89,
      prqt=1.0
    },
    {
      eventConfig={
        success=0.0,
        bgColor=#C0392B,
        successText=No
      },
      name=internet,
      prid=11.0,
      price=299.89,
      prqt=1.0
    },
    {
      eventConfig={
        success=0.0,
        bgColor=#C0392B,
        successText=No
      },
      name=intermission,
      prid=11.0,
      price=299.89,
      prqt=1.0
    }
  ]
}

Я пытаюсь преобразовать в json строку, но получаю ошибку при преобразовании

мне нужен вывод как

{
  "filters": [
    {
      "eventConfig": {
        "success": 1,
        "bgColor": "#27AE60",
        "successText": "Yes"
      },
      "prid": 9,
      "name": "abc",
      "prqt": 1,
      "price": 199.89
    },
    {
      "eventConfig": {
        "success": 1,
        "bgColor": "#27AE60",
        "successText": "Yes"
      },
      "name": "abc",
      "prid": 10,
      "price": 99.89,
      "prqt": 1
    },
    {
      "eventConfig": {
        "success": 0,
        "bgColor": "#C0392B",
        "successText": "No"
      },
      "name": "internet",
      "prid": 11,
      "price": 299.89,
      "prqt": 1
    },
    {
      "eventConfig": {
        "success": 0,
        "bgColor": "#C0392B",
        "successText": "No"
      },
      "name": "intermission",
      "prid": 11,
      "price": 299.89,
      "prqt": 1
    }
  ]
}

1 Ответ

0 голосов
/ 18 марта 2020

Пожалуйста, используйте следующий фрагмент кода, чтобы разобрать этот ответ.

 try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray filtersArray = jsonObject.getJSONArray("filters");
            for (int i = 0; i < filtersArray.length(); i++) {
                //Parsing eventConfig object
                JSONObject eventConfigObject = filtersArray.getJSONObject(i).getJSONObject("eventConfig");
                int success = eventConfigObject.getInt("success");
                String bgColor = eventConfigObject.getString("bgColor");
                String successText = eventConfigObject.getString("successText");

                //Parsing other objects
                int prid = filtersArray.getJSONObject(i).getInt("prid");
                String name = filtersArray.getJSONObject(i).getString("name");
                int prqt = filtersArray.getJSONObject(i).getInt("prqt");
                int price = filtersArray.getJSONObject(i).getInt("price");

            }

        } catch (Exception e) {
            e.printStackTrace();
        }

Happy Coding !! Спасибо ..!

...