如果GSON与POJO'不同,如何在GSON中指定JSON元素名;谁的会员姓名?
我理解@SerializedName注释的目的。这在将java对象转换为Json以覆盖成员的默认名称时使用。现在我有一个场景,传入的Json有一个键为“318”的元素。显然,我不能让Java成员名以数字开头。我将如何将这个Json元素“318”映射到名为“threeOneEight”的java成员。有什么想法吗 您使用与另一种方法完全相同的方法:如果GSON与POJO'不同,如何在GSON中指定JSON元素名;谁的会员姓名?,json,gson,Json,Gson,我理解@SerializedName注释的目的。这在将java对象转换为Json以覆盖成员的默认名称时使用。现在我有一个场景,传入的Json有一个键为“318”的元素。显然,我不能让Java成员名以数字开头。我将如何将这个Json元素“318”映射到名为“threeOneEight”的java成员。有什么想法吗 您使用与另一种方法完全相同的方法:@SerializedName 选中此项: package net.sargue.gson; import com.google.gson.Gson;
@SerializedName
选中此项:
package net.sargue.gson;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.SerializedName;
import org.intellij.lang.annotations.Language;
public class SO36488332 {
public static void main(String[] args) {
@Language("JSON")
String json = "{\n" +
" \"318\": \"I am a String.\"\n" +
"}";
Gson gson = new GsonBuilder().create();
MyPOJO myPOJO = gson.fromJson(json, MyPOJO.class);
System.out.println("myPOJO.threeOneEight = " + myPOJO.threeOneEight);
}
private static class MyPOJO {
@SerializedName("318")
private String threeOneEight;
}
}
执行结果是:
myPOJO.threeOneEight = I am a String.