Создание списка объектов из строки - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть строка:

[{location=Amsterdam-Nieuwendammerdijk, parameter=no2, date={utc=2020-02-06T18:00:00.000Z, local=2020-02-06T19:00:00+01:00}, value=-999.0, unit=µg/m³, coordinates={latitude=52.3893, longitude=4.94382}, country=NL, city=Amsterdam}, 
{location=Amsterdam-Einsteinweg, parameter=no2, date={utc=2020-02-06T18:00:00.000Z, local=2020-02-06T19:00:00+01:00}, value=-999.0, unit=µg/m³, coordinates={latitude=52.3813, longitude=4.84523}, country=NL, city=Amsterdam}, 
{location=Amsterdam-Van Diemenstraat, parameter=no2, date={utc=2020-02-06T18:00:00.000Z, local=2020-02-06T19:00:00+01:00}, value=-999.0, unit=µg/m³, coordinates={latitude=52.39, longitude=4.88781}, country=NL, city=Amsterdam}]

Мне нужно создать java объекты из этой строки в al oop и добавить их в список. Каждый объект будет объектом класса Result

public class Result{

private String location;
private String parameter;
private String date;
private String value;
private String unit;
private String coordinates;
private String country;
private String city;

public Result() {
}

public Result(String location, String parameter, String date, String value, String unit, String coordinates, String country, String city) {
    this.location = location;
    this.parameter = parameter;
    this.date = date;
    this.value = value;
    this.unit = unit;
    this.coordinates = coordinates;
    this.country = country;
    this.city = city;
}

Я попытался создать JsonArray, а затем выполнить итерацию по этому массиву, но получил ошибку:

JsonArray jsonArray = (JsonArray) JsonParser.parseString(map.get("results").toString());

Причина: com. google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: неопределенный объект в строке 1, столбец 80, путь $ [0] .date.ut c

Я нашел много примеров используя этот вид кода, но когда я пытаюсь использовать, я получаю сообщение об ошибке, которое говорит, что я не могу использовать String в качестве параметра.

JSONArray array = new JSONArray(jsonString);

Строка, которую я пытаюсь преобразовать в массив, является значением ключа из json:

String response = jsonResult(name); //jsonResult(name) - method returning json as a string

Gson gson = new Gson();

Map map = gson.fromJson(response,Map.class);

Как я могу создавать объекты из этой строки?

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