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
Java 如何从jsonArray获取相同的字段_Java_Json_Parsing - Fatal编程技术网

Java 如何从jsonArray获取相同的字段

Java 如何从jsonArray获取相同的字段,java,json,parsing,Java,Json,Parsing,使用gson,我解析了json格式的数据,现在我需要从这些数据中提取值“dt_txt”和它们的值“temp”,我不知道如何将它们拉到集合中,其中键是“dt_txt”,值是“temp” 我收到的数据: 包testClassPackage; 导入com.google.gson.JsonArray; 导入com.google.gson.JsonElement; 导入com.google.gson.JsonObject; 导入com.google.gson.JsonParser; 导入java.io.I

使用gson,我解析了json格式的数据,现在我需要从这些数据中提取值“dt_txt”和它们的值“temp”,我不知道如何将它们拉到集合中,其中键是“dt_txt”,值是“temp” 我收到的数据:

包testClassPackage;
导入com.google.gson.JsonArray;
导入com.google.gson.JsonElement;
导入com.google.gson.JsonObject;
导入com.google.gson.JsonParser;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.net.URL;
导入java.net.URLConnection;
公共类天气分析{
公共静态void main(字符串[]args)引发IOException{
字符串sURL=”http://api.openweathermap.org/data/2.5/forecast/?q=Odessa,ua&APPID=518a64dd48106aa542464d3bd94d12ce;//只是一个字符串
//使用java的本机库连接到URL
URL=新URL(sURL);
URLConnection request=url.openConnection();
request.connect();
//转换为JSON对象以打印数据
JsonParser jp=新的JsonParser();//来自gson
JsonElement root=jp.parse(新的InputStreamReader((InputStream)request.getContent());//将输入流转换为json元素
JsonObject rootobj=root.getAsJsonObject();//可能是数组,也可能是对象。
JsonArray message=rootobj.get(“list”).getAsJsonArray();
对于(int i=0;i
将JsonArray(消息我在这里改为消息)作为JsonElement进行迭代,从元素中获取主对象,然后获取相应的temp

   Map<String,String> data = new HashMap<>();

    for(JsonElement lst : messages) {
        JsonObject lstObject = lst.getAsJsonObject();
        JsonObject el = (JsonObject) lstObject.get("main");
        System.out.println(lstObject.get("dt_txt").getAsString()  +" "+el.get("temp").getAsString());
        data.put(lstObject.get("dt_txt").getAsString(), el.get("temp").getAsString()); 
    }
Map data=newhashmap();
for(JsonElement lst:messages){
JsonObject lstObject=lst.getAsJsonObject();
JsonObject el=(JsonObject)lstObject.get(“main”);
System.out.println(lstObject.get(“dt_txt”).getAsString()+“”+el.get(“temp”).getAsString());
data.put(lstObject.get(“dt_txt”).getAsString(),el.get(“temp”).getAsString());
}

您能否将示例JSON上传为非图像?
   Map<String,String> data = new HashMap<>();

    for(JsonElement lst : messages) {
        JsonObject lstObject = lst.getAsJsonObject();
        JsonObject el = (JsonObject) lstObject.get("main");
        System.out.println(lstObject.get("dt_txt").getAsString()  +" "+el.get("temp").getAsString());
        data.put(lstObject.get("dt_txt").getAsString(), el.get("temp").getAsString()); 
    }