2

JSON(StartDate = / Date(1341348517698 + 0200)/)として提供されるDateTime(C#)をgsonを使用してAndroidカレンダーオブジェクトに逆シリアル化しようとしています...

私はすでに次のことを試みましたが成功しませんでした:

ObjectWithCalender cal = gson.fromJson(jsonWithDate, ObjectWithCalender.class);
4

3 に答える 3

6

Date 用のカスタム デシリアライザーを作成する必要があります。たとえば、このクラスを作成します。

public class DotNetDateDeserializer implements JsonDeserializer<Date> {
   @Override
   public Date deserialize(JsonElement json, Type typfOfT, JsonDeserializationContext context) {
      // this is the place where you convert .NET timestamp into Java Date object
   } 
}

次に、JSON 文字列を POJO に変換する前に:

GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, new DotNetDateDeserializer());
Gson gson = builder.create();
gson.fromJson(jsonString, Class);
于 2012-07-03T22:07:24.297 に答える
1

datetime の代わりに UNIX タイムスタンプを使用します。datetime はあいまいな構造体です

于 2012-07-03T21:31:41.113 に答える