当前位置: 首页 > 知识库问答 >
问题:

将JSON从URL转换为JSONNode

弓举
2023-03-14
import java.net.URL;
import java.util.HashMap;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.*;


public class WeatherClient {
    public static void main (String[] args) {
      try { final JsonNode node = new ObjectMapper().readTree(new URL("http://api.wunderground.com/api/5bef7a0ecc7f2933/" +
              "conditions/q/CA/San_Francisco.json"));
      }
          catch (Exception exception) {
          exception.printStackTrace();
      }
}


       }

线程“main”java.lang.nosuchmethoderror中出现异常:com.fasterxml.jackson.core.jsonFactory.createparser(ljava/net/URL;)lcom/fasterxml/jackson/core/jsonParser;在com.fasterxml.jackson.databind.objectmapper.readtree(objectmapper.java:1792)在weatherclient.main(weatherclient.java:10)在sun.reflect.nativemethodaccessorimpl.invoke0(原生方法)在sun.reflect.nativemethodaccessorimpl.java:57)在sun.reflect.delegatingmethodaccessorimpl.java:43)java.lang.reflect.methodinvoke(Method.java:601)在

这有什么办法解决吗?

共有1个答案

羊舌赞
2023-03-14

当Jackson拥有万能的jsonnode时,我认为没有理由需要使用map

final JsonNode node = new ObjectMapper().readTree(new URL("yourURLHere");

有关jsonnode的信息,请参阅javadoc。您可以轻松地导航JSON,实际上比使用map要容易得多。请参阅.get().path()等方法。

(不要脸的插头)并且如果您想使用JSON指针导航您的JSON,也可以那样做:

final JsonPointer ptr = JsonPointer.of("current_observation", "display_location");
final JsonNode displayLocation = ptr.get(node);
 类似资料:
  • 问题内容: 我似乎找不到此问题的答案。如何在JavaScript中将URL参数字符串转换为JSON?我的意思是问是否有像这样的内置功能或可以完成这项工作的单线? 例: => 问题答案: 您可以创建一个将返回JSON对象的方法 演示:http://jsfiddle.net/jAGN5/

  • 我似乎找不到这个问题的答案。如何在JavaScript中将URL参数字符串转换为JSON?我的意思是问是否有这样的内置函数或一行程序可以完成这项工作? =>

  • 问题内容: 我目前正在努力解决一个简单的问题。我想从RabbitMQ接收消息,并将其转换为字符串(或更高版本的json对象)。但是我得到的只是字节。 该 消息 对象显示本身作为一个字符串,方式 配置类(使用spring) 和消息监听器 我的问题是, getBody() 方法显示 [B @ 4dbb73b0, 因此没有任何转换。既不是字符串也不是json对象:( 我觉得很愚蠢,但是我在这里找不到解决

  • 问题内容: 我的页面会生成这样的URL:如何将其转换为普通地址? 我将其用作的属性。 问题答案: 从JavaScript创建的URL 不能转换为“普通” URL。 一个URL并不是指在服务器上存在的数据,它是指数据您的浏览器目前在存储器中,当前页面。它在其他页面上将不可用,在其他浏览器中将不可用,并且在其他计算机上将不可用。 因此,通常来说,将URL 转换为“正常” URL 是没有意义的。如果要使

  • 问题内容: 我有一个图像文件的Data-URL,必须将其传递给另一个函数。从Data-URL到BufferedImage的路径必须是一个byteArray。 我的方法如下: 问题是,它总是抛出UnknownImageFormatException异常,这意味着inputImage为null,这意味着ImageIO.read无法识别图像类型。 我使用ImageIO.getReaderFormatNa

  • 问题内容: 我想将Intent的Extras Bundle转换为JSONObject,以便可以将其传递给JavaScript。 有没有快速或最佳的方法来进行此转换?如果不是所有可能的捆绑包都能正常工作,那就没关系了。 问题答案: 您可以用来获取捆绑软件包含的密钥列表。然后,您可以遍历这些键,并将每个键值对添加到中: 请注意,这将需要您抓住一个。 编辑: 有人指出,以前的代码不能很好地处理和键入。如