fromJson reting NULL 如果输入 JSON 包含双引号



我正在尝试将JSON数据存储到POJO类中,然后将该类存储到Firebase中。如果我使用 str1 作为 fromJson 的输入,pojo 类会正确填充,但如果使用 str2 fromJson 返回 null。 问题是两个字符串(str1 或 str2)中的哪一个是正确的? 我的原始数据是CSV格式,我使用其中一个在线转换器将CSV文件转换为JSON格式。数据与 str2 中显示的格式相同。

String str1 =  "{"code":602,"desc":"somedescription"}"; 
String str2 =  "{"code":602,"desc":"somedesc"}";
myGson = new Gson();
codeDescMast = myGson.fromJson(str1,CodeDescMast.class);

这是我的POJO课。

public class CodeDescMast {
int code;
String desc;
public CodeDescMast() { }
public CodeDescMast(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}

}

问候 贾娜

Gson 正确地处理 str1,因为它在 Java 中的语法是正确的。

但是 str2 是不正确的,事实上它也不应该编译。

String str1 =  "{"code":602,"desc":"somedescription"}"; // Correct Way
String str2 =  "{"code":602,"desc":"somedesc"}"; // Incorrect Way

我们可以使用 \ 字符来表示我们要包含一个特殊字符,并且下一个字符应该区别对待。 \" 表示引号字符,而不是字符串的终止。

请参阅有关此类实现的此线程。

最新更新