Разбор внешнего XML для JSON в Java? - PullRequest
3 голосов
/ 28 сентября 2010

Так что я сижу здесь с Google Geocoder, который возвращает XML через «GOOGLE_URL / xml? Address = input & sensor = false».Мне нужно получить его с помощью Java, разобрать его в объект JSON и отправить его дальше.

Как мне это сделать?(Нет, это не домашняя работа) Обратите внимание, что это предпочтительно делать в стандартных библиотеках.Сейчас я пытаюсь понять, можно ли это сделать, например, с помощью SAX.

Ответы [ 2 ]

6 голосов
/ 28 сентября 2010

Вот рабочий пример, который показывает, как подключиться к URL, загрузить XML и преобразовать его в формат JSON:

  1. Подключитесь к URL и загрузите XML в виде строки:

    String str = "http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true";
    URL url = new URL(str);
    InputStream is = url.openStream();
    int ptr = 0;
    StringBuilder builder = new StringBuilder();
    while ((ptr = is.read()) != -1) {
        builder.append((char) ptr);
    }
    String xml = builder.toString();
    
  2. Загрузите библиотеку JSON из здесь . (Вам нужно будет скомпилировать его и убедиться, что классы находятся на вашем пути к классам.)

  3. Преобразование XML в объект JSON:

    JSONObject jsonObject = XML.toJSONObject(xml);
    System.out.println(jsonObject);
    
3 голосов
/ 29 сентября 2010

Почему бы вам не получить геокод Google как JSON?

Ссылка выше взята непосредственно из:

...