当前位置: 首页 > 面试题库 >

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

吴嘉禧
2023-03-14
问题内容

因此,我坐在这里与Google Geocoder一起,后者通过’GOOGLE_URL / xml?address = input&sensor =
false’返回XML。我需要使用Java来获取它,并将其解析为JSON对象并继续发送。

我将如何去做?(不,这不是家庭作业)请注意,最好在标准库中完成。目前,我正在尝试确定是否可以使用例如SAX来完成。


问题答案:

这是一个工作示例,显示了如何连接到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);



 类似资料:
  • 问题内容: 我有一个XML文件,例如 如何将其解析为JSON结构文件? 问题答案: 对于一个简单的解决方案,我建议使用Jackson库,它是一个Java库,用于生成和读取带有XML扩展名的JSON,因为它只需几行简单的代码就可以将任意复杂的XML转换为JSON。 input.xml Java代码: 该演示使用Jackson 1.7.7 (较新的1.7.8也可以使用),Jackson XML Dat

  • 我有一些信息存储在XML中,我需要解析XML并将一些值存储在Hashmap中。以下是XML: 我想要的关键是:Room1和值:16.412094,48.19719(例如为部分ID=1) 这是第一部分的示例。我有100多个部分,所以我想像我在第一个示例中解释的那样为每个部分存储键和值。 输出为: 房间1: 16.412094,48.19719;房间2: 16.369865,48.199006; 房间

  • 我试图确定.NET核心应用程序是否容易受到XML外部实体(XXE)注入攻击。我读了这个OWASP XXE预防备忘单,它告诉我,例如,在4.5.2之前的.NET Framework版本中,

  • 问题内容: 我有一个要解析的xml示例 我想从此xml中编写一个方法,将该方法解析为键是字符串且值是字符串列表的hashmap。 例如:键“ detail a” value = {“ detail a的属性1”,“ detail a的属性2”,“ detail a的属性3”} 等等.. 做这个的最好方式是什么 ?因为我很困惑:\ 我走了这么远才能尝试打印detail-a和detail-b,但我还是

  • 问题内容: 我正在用SAX解析XML文件,有时需要元素的内部XML。例如,对于以下XML 我需要获取元素 a 的内部XML ,这将是 最简单的方法是什么? 谢谢。 伊万 问题答案: 对于这种情况,我建议使用2个内容处理程序。第一个负责查找文档的相关部分,第二个负责处理内容。我对类似问题的答案(请参见下面的链接)演示了如何实现此方法: 使用SAX解析常见的XML元素

  • 问题内容: 任何人都可以在Java中为dom解析器共享好的文档。 谢谢 问题答案: 以下是在Java中使用DOM的教程: xml dom DOM解析器 java-xml-dom dom示例 希望这可以帮助。