gpt4 book ai didi

java - 从 InputStreamReader 将 Json 转换为 gson

转载 作者:行者123 更新时间:2023-11-29 08:32:45 24 4
gpt4 key购买 nike

我从 URL 得到了一个 JSON,它看起来像:|

   {"total_users_count":1,
"users":[
{"first_name":"jan",
"email":"admin@localhost",
"city":null,
"position":"",
"experience_years":"5 - 8",
"salary_expectations":"0 - 7300"}
// ,{ ... }
]
}

在这个响应中会有更多的用户。我的代码:

URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
System.out.println(is.toString());
System.out.println(isr.toString());



CandidateDTO candidateDTO = new Gson().fromJson(isr, CandidateDTO.class);

// using the deserialized object
System.out.println(candidateDTO.total_users_count);
System.out.println(candidateDTO.first_name);
System.out.println(candidateDTO.email);
System.out.println(candidateDTO.city);
System.out.println(candidateDTO.position);
System.out.println(candidateDTO.experience_years);
System.out.println(candidateDTO.salary_expectations);


private class CandidateDTO {
int total_users_count;
Map <String, String> first_name;
String email;
String city;
String position;
Integer experience_years;
Integer salary_expectations;

}

不幸的是,这段代码不起作用,我无法将用户添加到我的 map 。这有什么问题吗?

最佳答案

users 是一个集合(对象数组),因此您需要像这样创建一个集合。

public class CandidateDTO {
int total_users_count;
List<User> users = new ArrayList<User>();
//Set<User> users = new HashSet<User>();
}
public class User{
String first_name;
String email;
String city;
String position;
String experience_years;
String salary_expectations;
}

关于java - 从 InputStreamReader 将 Json 转换为 gson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46605160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com