Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将外部XML解析为JSON?_Java_Xml_Json_Sax - Fatal编程技术网

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

在Java中将外部XML解析为JSON?,java,xml,json,sax,Java,Xml,Json,Sax,所以我现在坐在谷歌地理编码器旁边,它通过“Google_URL/XML?address=input&sensor=false”返回一个XML。 我需要使用Java获取它,并将其解析为JSON对象,然后继续发送 我该怎么做呢?(不,这不是家庭作业) 请注意,最好在标准库中完成。目前,我正在尝试确定是否可以使用例如SAX来完成此操作。下面是一个工作示例,演示如何连接到URL,下载XML并将其转换为JSON格式: 连接到URL并将XML作为字符串下载: String str = "http://map

所以我现在坐在谷歌地理编码器旁边,它通过“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();
    
  • 从下载JSON库。(您必须编译它并确保类位于类路径上。)

  • 将XML转换为JSON对象:

    JSONObject jsonObject = XML.toJSONObject(xml);
    System.out.println(jsonObject);
    

  • 为什么不首先将Google地理代码检索为JSON

    上述链接直接取自:


    这不是很好的描述,是吗?(编辑:好了,现在它更具描述性了。但我对整个解析部分仍然一无所知)这让它更有意义(根据您以前的信息tho)谢谢!您可以尝试以下两种方法之一:导入
    org.json.XML
    或import
    org.apache.sling.commons.json.xml.xml因为使用XML服务更高效?