gpt4 book ai didi

java - 将 JSON 字符串转换为 json 对象

转载 作者:行者123 更新时间:2023-12-02 10:02:22 25 4
gpt4 key购买 nike

我有一个 json 字符串返回:

[{"TRAIN_JOURNEY_STAFF[],"ID":15,"EMAIL_ADDRESS":"jk@connectedrail.com","PASSWORD":"test","FIRST_NAME":"Joe","LAST_NAME":"Kevin","DATE_OF_BIRTH":"1996-04-20T00:00:00","GENDER":"Male","STAFF_ROLE":"Conductor","PHOTO":null},{new record..}]

这里有几条记录,我找不到将这个json字符串转换为单个对象的方法。我使用以下方法读取数据:

StringBuffer response;
try (BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()))) {
String inputLine;
response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
}
System.out.print(response.toString());
}

我尝试了简单的 json 库,但是解析器混合了字符串,这并不理想,因为我需要将数据逐个对象地输出到 jtables 的行。

如有任何帮助,我们将不胜感激。

通过以下 GSON 解决了​​这个问题。非常感谢大家!

    JsonElement jelement = new JsonParser().parse(response.toString());
JsonArray jarray = jelement.getAsJsonArray();

JsonObject jobject = jarray.get(0).getAsJsonObject();

System.out.println(jobject.get("FIRST_NAME"));

最佳答案

你可以使用这样的东西:

public class ObjectSerializer {

private static ObjectMapper objectMapper;

@Autowired
public ObjectSerializer(ObjectMapper objectMapper) {
ObjectSerializer.objectMapper = objectMapper;
}

public static <T> T getObject(Object obj, Class<T> class1) {
String jsonObj = "";
T userDto = null;
try {
jsonObj = objectMapper.writeValueAsString(obj);
userDto = (T) objectMapper.readValue(jsonObj, class1);
System.out.println(jsonObj);
} catch (JsonProcessingException jpe) {
} catch (IOException e) {
e.printStackTrace();
}
return userDto;
}

将 JSON 对象与类名一起传递给此方法,它将把 JSON 数据设置为相应的类。

注意:类必须具有与您要映射的 JSON 中相同的变量。

关于java - 将 JSON 字符串转换为 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55533093/

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