我正在尝试将JSON数据存储到POJO类中,然后将该类存储到Firebase中。如果我使用str1作为fromJson的输入,则pojo类被正确填充,但如果使用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;
}
}
问候 贾纳
答案 0 :(得分:0)
Gson正确处理str1,因为它在java中语法正确。
然而str2是不正确的,事实上它也不应该编译。
String str1 = "{\"code\":602,\"desc\":\"somedescription\"}"; // Correct Way
String str2 = "{"code":602,"desc":"somedesc"}"; // Incorrect Way
我们可以使用\字符来表示我们想要包含一个特殊字符,并且应该区别对待下一个字符。 \"表示引号字符,而不是字符串的终止。
关于此类实施,请参阅此thread。