gpt4 book ai didi

java - 使用 GSON 解析 JSON 时大小写重要吗

转载 作者:行者123 更新时间:2023-12-01 14:19:21 25 4
gpt4 key购买 nike

我正在解析 JSON 数据,并使用 GSON 将结果存储在 Java 对象中。我的问题是,JSON 字符串中的字段应该与类中的实例变量匹配吗?包括类名?例如,

如果这是我的 JSON 字符串 -

"telephone":
{
"landline":"1-818-502 8310"
}

我应该上下面的课吗?

public class Telephone 
{
private String landline;
}

我问这个的原因是,当我使用gson的fromJson(obj)时,该对象不包含任何值。它显示所有记录为空。我想知道它是否因此而引发错误。

请注意 - 这不是完整的代码。我的 JSON 数据非常大,因此无法将其粘贴到此处。上面的电话字符串只是我的 json 字符串中的众多嵌入字符串之一。

最佳答案

  1. 这是错误的 JSON:

       "telephone":{"landline":"1-818-502 8310"}

    JSON 对象以 { 开头,以 } 结尾。所以,它应该是这样的

     {"name": "somename", "telephone":{"landline":"1-818-502 8310"}, ...}
  2. 是的。类中的属性应具有与 JSON 字符串中完全相同的大小写和字符,以防您使用 Eliran 正确提到的默认 Gson 实例。请注意,您必须拥有仅具有 getter/setter 的属性,而不具有属性是行不通的。

  3. 您提到您正在使用内部类。它可能不适用于默认的 Gson 实例。您可能需要像这样使用 registerTypeAdapter:

    gson.registerTypeAdapter(MyType.class, new MyInstanceCreator());

    引用:https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization

关于java - 使用 GSON 解析 JSON 时大小写重要吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757604/

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