gpt4 book ai didi

java - Gson 'fromJson' 问题

转载 作者:行者123 更新时间:2023-11-30 02:07:29 26 4
gpt4 key购买 nike

我正在尝试使用 com.google.gson.Gson 将 JSON 绑定(bind)到 Java POJO 类像这样:

MyClass data = gson.fromJson(jsonString, MyClass.class);

当我使用下面提到的它工作正常

{
"data": "{\"key1\":{\"key11\":\"192.192.1.192\",\"key12\":\"WEB\"}}"
}

但是,当使用下面提到的数据时,我收到 MalformedJsonException

{
"data": "{"key1":{"key11":"192.168.1.158","key12":"WEB"}}"
}

日志:

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: 
Unterminated object at line 1 column 354 path

最佳答案

您不能在 String 中使用 " 来引用您的 JSON 键和值。您要么必须转义它们(就像在第一个示例中所做的那样),要么您使用单引号 '.

您实际上是在尝试在不使用 + 的情况下进行字符串连接。

这看起来像一个字符串列表,其中包含变量的编译器:

"{"key1":{"key11":"192.168.1.158","key12":"WEB"}}"

编译器会期望这样的结果:

"{" + key1 + ":{" + key11 + ":" + 192.168.1.158 + "," + key12 + ":" + WEB + "}}";

如果您以这种方式查看字符串,您会立即发现问题。这就是为什么您应该转义引号或使用单引号:

"{\"key1\":{\"key11\":\"192.168.1.158\",\"key12\":\"WEB\"}}"
"{'key1':{'key11':'192.168.1.158','key12':'WEB'}}"

关于java - Gson 'fromJson' 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50987016/

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