次のタイプのJavaクラスがあるとします。
public class MyClass
{
public String par1;
public Object par2;
}
それから私はこれを持っています:
String json = "{"par1":"val1","par2":{"subpar1":"subval1"}}";
Gson gson = new GsonBuilder.create();
MyClass mClass = gson.fromJson(json, MyClass.class);
par2
JSONは、いくつかの他のアプリケーションから私に与えられていると、彼らは動的であるので、私は今まで、それのパラメータ名が何であるかを知りません。
私の質問は、par2
JSON文字列変数がクラスオブジェクトに正しく逆シリアル化されるように、MyClassの変数にどのクラスタイプを設定する必要があるかです。
ありがとう
GSONユーザーガイドのジェネリック型のシリアライズとデシリアライズを確認してください:
public class MyClass<T>
{
public String par1;
public T par2;
}
それを逆シリアル化するには:
Type fooType = new TypeToken<Myclass<Foo>>() {}.getType();
gson.fromJson(json, fooType);
この助けを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加