/ / JSONの要素名がPOJOのメンバー名と異なる場合、GSONで指定する方法-json、gson

GSONでPOJOのメンバー名と異なる場合、JSON要素名を指定する方法は? - json、gson

@SerializedNameの目的を理解しています注釈。これは、javaオブジェクトをJsonに変換するときに使用され、メンバーのデフォルト名をオーバーライドします。着信Jsonにキー「318」を持つ要素があるシナリオがあります。明らかに、数値で始まるJavaメンバー名を持つことはできません。このJson要素「318」を「threeOneEight」などの名前のJavaメンバーにどのようにマッピングしますか。何か案が?

回答:

回答№1は0

他の方法で使用したのとまったく同じ方法を使用します。 @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.