Я новичок в JSON и REST. Я использую SpringTemplate Spring для использования JSON. Я был в состоянии сделать это с этим ответом JSON с этим API вызова: http://data.fcc.gov/api/block/find?latitude=39.9936&longitude=-105.0892&showall=false&format=jsonКак использовать REST в Spring/Java с неназванными значениями JSON?
JSON Response:
{"Block":{"FIPS":"080130608005010"},"County":
{"FIPS":"08013","name":"Boulder"},"State":
{"FIPS":"08","code":"CO","name":"Colorado"},"status":"OK","executionTime":"8"}
Однако, когда я беру этот FIPS код из этого запроса и попытаться использовать его, чтобы получить информацию от перепись с этим вызовом: http://api.census.gov/data/2012/acs5?get=B19001_002E&for=tract:060800&in=state:08+county:013&key=
Это JSON ответ я получаю:
[["B19001_002E","state","county","tract"],
["225","08","013","060800"]]
Как вы можете видеть все «против ariables 'не являются именами и массивами. Я не уверен, как это использовать, используя SpringTemplate Spring с помощью POJO.
Это код Java У меня есть (где URL является строка из API вызова):
RestTemplate restTemplate = new RestTemplate();
CensusData cd = restTemplate.getForObject(URL, CensusData.class);
System.out.println("data: " + cd.getData());
Вот мой POJO (CensusData):
@JsonIgnoreProperties(ignoreUnknown = true)
public class CensusData {
@JsonProperty
private List<List<String>> data;
public String getData() {
String str = "";
for(List<String> list : data) {
for(String s : list) {
str += s;
str += " ";
}
}
return str;
}
}
Проблема заключается в том, что я не знаю, как назвать «данные» в моем объекте CensusData, поскольку значения не указаны в ответе JSON. Таким образом, я получаю это исключение брошенное:
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not deserialize instance of template.main.CensusData out of START_ARRAY token
Это массив массивов, имитирующий стандартный CSV-файл (где первая строка содержит имена столбцов). В чем заключается трудность? (Подсказка: Вселенная не состоит полностью из POJO.) –
Я предполагаю, что я незнакомый разбор Json любым другим способом, вы могли бы порекомендовать или связать любые другие методы разбора Json, которые могли бы работать для моего примера? Ссылка, размещенная ниже Dino Tw, оказалась полезной. –
«Любой другой способ» - это * нормальный * способ, где вы создаете «гнездо» списков и карт вместо использования Jacksonesque POJO. Перейдите на json.org - внизу страницы находятся около 20 наборов Java JSON на выбор. –