在Java中将外部XML解析为JSON?

Man*_*tar 3 java xml json sax

所以我坐在这里使用Google Geocoder,它通过'GOOGLE_URL/xml?address = input&sensor = false'返回XML.我需要使用Java获取它并将其解析为JSON对象并向前发送.

我该怎么做呢?(不,这不是功课)请注意,最好在标准库中完成.目前我正试图解决是否可以使用例如SAX.

dog*_*ane 6

这是一个工作示例,它显示了如何连接到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();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这里下载JSON库.(您必须编译它并确保类在您的类路径上.)

  3. 将XML转换为JSON对象:

    JSONObject jsonObject = XML.toJSONObject(xml);
    System.out.println(jsonObject);
    
    Run Code Online (Sandbox Code Playgroud)