の特定の APIが呼び出されたときに、の特定のフィールドのみをJsonで返しますか?私は "transient"を使用していますが、これはObjectレベルにあり、すべてのAPI呼び出しでtrueになります。JavaのAPI呼び出しでJsonの選択したフィールドを返す
例:完全なJSONは特定のユーザーのためのAPI呼び出しに応じて、
[{"field1":"a","field2":"b","field3":"c"},{"field1":"d","field2":"e","field3":"f"},{"field1":"g","field2":"h","field3":"i"}]
で、 "JSON出力は、" APIの呼び出しに特異的です。 API呼び出しに応じて、次のいずれかがあります。
[{"field1":"a"},{"field1":"d"},{"field1":"g"}]
OR
[{"field2":"b"},{"field2":"e"},{"field2":"h"}]
OR
[{"field3":"c"},{"field3":"f"},{"field3":"i"}]
または上記の組み合わせ。
など。上の例のコードを以下に示します。
public class childObj {
public String field1;
public String field2;
public String field3;
public childObj(String field1, String field2, String field3) {
super();
this.field1 = field1;
this.field2 = field2;
this.field3 = field3;
}
}
メインクラスを以下のように定義されています
import java.util.ArrayList;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class ParentAndChildObjects {
public static void main(String[] args) {
ArrayList<childObj> childObjList = new ArrayList<childObj>();
childObjList.add(new childObj("a","b","c"));
childObjList.add(new childObj("d","e","f"));
childObjList.add(new childObj("g","h","i"));
Gson gson = new GsonBuilder().create();
String myString = gson.toJson(childObjList);
System.out.println(myString);
}
}