gpt4 book ai didi

java - json 字符串对象与未知数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:58 25 4
gpt4 key购买 nike

如标题所述,我正在尝试为我的类分配一个 json 字符串,但 json 字符串可能包含几个我没有在分配给它们的类中创建的变量。

为了首先向您展示什么是有效的,我有

    ObjectMapper mapper = new ObjectMapper();

try {

Tweet tweet1 = mapper
.readValue(
"{\"created_at\":\"Sat Feb 08 11:26:02 +0000 2014\"}",
Tweet.class);

} catch (JsonMappingException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

这是有效的,因为类 Tweet 具有变量“created_at”,其中包含 getter 和 setter 方法。

尽管如前所述,我需要期望 readValue 方法中的字符串包含在我的 Tweet 类中找不到的内容。

为了解决这个问题,我导入并使用:

    mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

这在理论上帮助我避免了其中的所有未知数,并且只分配了要在 Tweet 类中找到的值。

因此,我添加了一个在 Tweet 中找不到的值,如下所示:

    ObjectMapper mapper = new ObjectMapper();
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

try {

Tweet tweet1 = mapper
.readValue(
"{\"created_at\":\"Sat Feb 08 11:26:02 +0000 2014\",\"id\":432113085571407872\"}",
Tweet.class);

} catch (JsonMappingException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

现在,值“id”在我的 Tweet 类中不存在,因此应该被忽略(不是吗?)。

但是,现在控制台向我抛出一个错误:

com.fasterxml.jackson.core.JsonParseException:意外字符('"'(代码 34)):期望用逗号分隔 OBJECT 条目 在 [来源:java.io.StringReader@7817ea54;行:1,列:72]

现在这让我很伤心,因为我这辈子都无法理解我做错了什么。

谁的眼睛和/或头脑比我更敏锐,看到我的错误了吗?

还是我做错了?

最佳答案

您的 JSON 无效。这是 id 属性的值:

432113085571407872\"

您看到它要么在开头缺少引号,要么在末尾不应该有引号。

这就是错误信息所说的,顺便说一句:

Unexpected character ('"'

关于java - json 字符串对象与未知数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646212/

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