【发布时间】:2011-04-18 05:54:32
【问题描述】:
因此,我使用 Google Geocoder 坐在这里,它通过“GOOGLE_URL/xml?address=input&sensor=false”返回一个 XML。 我需要使用 Java 获取它并将其解析为 JSON 对象并继续发送。
我该怎么做呢? (不,这不是作业) 请注意,最好在标准库中完成。目前,我正在尝试确定它是否可以通过例如 SAX 来完成。
【问题讨论】:
因此,我使用 Google Geocoder 坐在这里,它通过“GOOGLE_URL/xml?address=input&sensor=false”返回一个 XML。 我需要使用 Java 获取它并将其解析为 JSON 对象并继续发送。
我该怎么做呢? (不,这不是作业) 请注意,最好在标准库中完成。目前,我正在尝试确定它是否可以通过例如 SAX 来完成。
【问题讨论】:
这是一个工作示例,展示了如何连接到 URL、下载 XML 并将其转换为 JSON 格式:
连接到 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();
从here 下载 JSON 库。 (您必须编译它并确保这些类在您的类路径中。)
将 XML 转换为 JSON 对象:
JSONObject jsonObject = XML.toJSONObject(xml);
System.out.println(jsonObject);
【讨论】:
org.json.XML; 或 import org.apache.sling.commons.json.xml.XML;
【讨论】: