Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
将json URL导入java并使用jackson库对其进行解析_Java_Json_Jackson - Fatal编程技术网

将json URL导入java并使用jackson库对其进行解析

将json URL导入java并使用jackson库对其进行解析,java,json,jackson,Java,Json,Jackson,我试图读取java中的json链接并对其进行解析,以便将其用于其他事务,但问题是,我遇到了一些错误,我真的不知道如何处理这些错误。 代码如下: package weather.data; import weather.data; import com.fasterxml.jackson.core.JsonParseException; //import com.fasterxml.jackson.annotation.JsonMappingException; import com.fast

我试图读取java中的json链接并对其进行解析,以便将其用于其他事务,但问题是,我遇到了一些错误,我真的不知道如何处理这些错误。 代码如下:

package weather.data;

import weather.data;

import com.fasterxml.jackson.core.JsonParseException;
//import com.fasterxml.jackson.annotation.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonMappingException;

import java.io.File;
import java.net.URI;
import java.io.IOException;

public class usertest {

    public static void main() throws JsonParseException, JsonMappingException, IOException 
    {

        URI jsonUrl = new URI("https://gist.githubusercontent.com/anonymous/4b32c7ef1ceb5dd48bf5/raw/ef1987551faa3fb61473bb0e7aad70a228dc36d6/gistfile1.txt");

        ObjectMapper mapper = new ObjectMapper();

        City = mapper.readValue(jsonUrl, data.class);
    }

}
以下是错误: 关于导入天气。数据:此行有多个标记 -只能导入类型。weather.data解析为 包裹 -从不使用导入weather.data

about City=mapper.readValue(jsonUrl,data.class):此行有多个标记 -无法将数据解析为类型 -无法将城市解析为变量 -类型ObjectMapper中的方法readValue(JsonParser,Class)不适用于 参数(URI,类) -类型ObjectMapper中的方法readValue(JsonParser,Class)不适用于 参数(URI,类) -无法将城市解析为变量 -无法将数据解析为类型

有什么想法吗?另外,我真的不理解使用mapper.readValue的概念。有人能帮我吗

注意:我已经使用json gen在链接中生成了数据对象,现在我有了对象数据java文件:City、Coord、List1、Temp和Weather,内容如下

以City.java为例:

package weather.data;

import java.util.List;

public class City{
    private Coord coord;
    private String country;
    private Number id;
    private String name;
    private Number population;

    public Coord getCoord(){
        return this.coord;
    }
    public void setCoord(Coord coord){
        this.coord = coord;
    }
    public String getCountry(){
        return this.country;
    }
    public void setCountry(String country){
        this.country = country;
    }
    public Number getId(){
        return this.id;
    }
    public void setId(Number id){
        this.id = id;
    }
    public String getName(){
        return this.name;
    }
    public void setName(String name){
        this.name = name;
    }
    public Number getPopulation(){
        return this.population;
    }
    public void setPopulation(Number population){
        this.population = population;
    }
}

提前感谢

如果URL中的
gistfile1.txt
文件包含City的JSON对象,则替换该行

City = mapper.readValue(jsonUrl, data.class);


您应该将对象类赋予
readValue
方法。

您需要
导入weather.data.City
(特定类),而不是
导入weather.data
(包)

然后按照@jdiver说的做:

City city = mapper.readValue(jsonUrl, City.class);

非常感谢@jdiver。我应用了您所说的,但它仍然给了我这个错误:此行有多个标记-类型ObjectMapper中的方法readValue(JsonParser,Class)不适用于参数(URI,Class)-类型ObjectMapper中的方法readValue(JsonParser,Class)不适用于参数(URI,Class)非常感谢@jcragun。我应用了您所说的关于导入的第一个错误消失了,但对于第二个代码,它仍然给我这个错误:此行有多个标记-类型ObjectMapper中的方法readValue(JsonParser,Class)不适用于参数(URI,Class)-方法readValue(JsonParser,Class)在类型中,ObjectMapper不适用于参数(URI,类),请使用
java.net.URL
而不是
URI
类。很抱歉回答得太晚。我的文件中已经有了java.net.URI.UR L而不是iohh,这是一个愚蠢的错误。非常感谢你。成功了。
City city = mapper.readValue(jsonUrl, City.class);