Ниже приведен пример использования Джексона в качестве библиотеки Java-to / from-JSON.Джексон - это один из самых быстрых и многофункциональных API-интерфейсов Java / JSON.
Я догадался, какова на самом деле целевая структура JSON.
import java.util.List;
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
import org.codehaus.jackson.map.ObjectMapper;
public class Foo
{
public static void main(String[] args) throws Exception
{
// input:
// [
// {
// "hotel": [
// {"id":"52472","name":"africa","hotel":"asd"},
// {"id":"52471","name":"europe","hotel":"asd2"},
// {"id":"52470","name":"europe","hotel":"asd3"}
// ]
// }
// ]
String input = "[{\"hotel\":[{\"id\":\"52472\",\"name\":\"africa\",\"hotel\":\"asd\"},{\"id\":\"52471\",\"name\":\"europe\",\"hotel\":\"asd2\"},{\"id\":\"52470\",\"name\":\"europe\",\"hotel\":\"asd3\"}]}]";
ObjectMapper mapper = new ObjectMapper();
// configure Jackson to access non-public fields
mapper.setVisibilityChecker(mapper.getVisibilityChecker().withFieldVisibility(Visibility.ANY));
Result[] results = mapper.readValue(input, Result[].class);
Result result = results[0];
System.out.println(result);
}
}
class Result
{
List<Hotel> hotel; // name matches name in JSON
@Override
public String toString() {return hotel.toString();}
}
class Hotel
{
String id; // name matches name in JSON
String name; // name matches name in JSON
String hotel; // name matches name in JSON
@Override
public String toString()
{
return String.format("Hotel:{id=%s, name=%s, hotel=%s}", id, name, hotel);
}
}