当前位置: 首页 > 知识库问答 >
问题:

Jackson ObjectMapper意外字符-JSON有效

易祯
2023-03-14

我正在尝试用Jackson写/读一个简单的类到一个文件中,但我无法在创建文件后读取它。我得到了

jsonParseException:意外字符(“.”(代码46)):在[source:java.io.StringReader@f2dec59;行:1,列:2]处应为有效值(数字、字符串、数组、对象、“true”、“false”或“null”)

我的目标很简单;它基本上只是一个HashMap的容器。下面是我用JsonLint签出的结果JSON文件:

{
"quaternions": {
    "10": {
        "x": 0,
        "y": 0,
        "z": 0,
        "w": 1,
        "identity": true
    },
    "11": {
        "x": 0,
        "y": 0,
        "z": 0,
        "w": 1,
        "identity": true
    },
    "12": {
        "x": 0,
        "y": 0,
        "z": 0,
        "w": 0,
        "identity": false
    }
}
}

我正在使用的读取文件的代码如下:

TypeReference<ZeroQuaternions> typeRef;
typeRef = new TypeReference<ZeroQuaternions>() {};
ZeroQuaternions readQuats = mapper.readValue("./zeroQuatTest.json", typeRef);

共有1个答案

方嘉志
2023-03-14

出现此错误是因为jackson试图反序列化./zeroquattest.json字符串而不是文件的内容。试着打电话

TypeReference<ZeroQuaternions> typeRef;
typeRef = new TypeReference<ZeroQuaternions>() {};
ZeroQuaternions readQuats = mapper.readValue(new File("./zeroQuatTest.json"), typeRef);
 类似资料:
  • 问题内容: 由于某种原因,我收到一条错误消息,但是实际上并没有在读取的任何代码中加下划线。我尝试清洁和重建它,但是没有用。它说它在第49行。 我的代码如下 下面的第49行 问题答案: 你内有两个“奇数”字- U + 200C (零宽不连字)和U + 200B (零宽度的空间)的第一个“e”和“m”个之间。“ l”和“ i”之间的“点击”中出现相同的字符。 只需删除并重新输入这些单词,错误就会消失。

  • 问题内容: 在尝试进入sql查询数组并获得以下javascript错误后,我尝试通过php jquery传递json。 返回sql结果的函数: 以这种方式使用此功能后, 而javascript代码是这样的: 如何纠正此错误以及如何从jquery读取json? 问题答案: 您不需要调用,因为jQuery自动执行该调用,因为如果未指定属性,则jQuery会尝试猜测它并调用正确的函数来解析响应,然后再将

  • 在Flutter中,无论我尝试解码什么json文件,我都会得到上面相同的标题错误。最初我认为这是我的项目,但在开始一个新的模板Flutter项目后,我仍然收到同样的错误。我有json文件在我的根文件夹,并已将它们添加到pubspec.yaml文件: 主要的目前的dart代码: 我已经在多个测试站点验证了我的json数据,并在Flutter文档中尝试了各种方法。Json数据:

  • 问题内容: 我收到此错误: JSON.parse:意外字符 当我在firebug中运行以下语句时: 为什么会这样呢?JSON字符串对我来说似乎是正确的,我也使用JSHint对其进行了测试。在上述情况下,传递的对象是服务器响应,其内容类型设置为 问题答案: 您不是在解析字符串,而是在解析一个已经解析的对象:)

  • 问题内容: 我正在尝试通过REST Web服务下载XML格式的数据。我已经使用NSXMLParser创建了解析器,并在TableView中可视化了数据。 当我遇到带有重音符号的XML文档句子时遇到问题。 在一些研究中,我发现这stackoverflow.com/questions/10215221/nsxmlparser-cant- parse-special-characters-accents

  • 问题内容: 我有一个无法调试的JSON解析错误。代码如下: 和JSON: 在Firefox中,错误为“ SyntaxError:JSON.parse:意外字符”,在Chrome中为“未捕获的SyntaxError:意外令牌C” 有任何想法吗? 编辑:这在我的本地主机设置上工作正常。 * 问题答案: 如果服务器正在发送有效的JSON,则无需调用,因为jQuery在检索响应时会自动对其进行解析。我不知