2

例は次のとおりです。ここで、Tは、resultCountと一致する1...nを取得することを期待するDTOです。これはJayrockJsonConvertを使用して正常に読み込まれましたが、Jayrockで機能したのと同じjsonテキストを逆シリアル化しようとすると、新しいJsonResultが返されます。

[Serializable]
public class JsonResult<T>
{
  public int resultCount = 0;
  public T[] results;
} 

これは、ServiceStack.Text.JsonSerializer.DeserializeFromString <T>()で質問した問題である可能性があると思いましたが、文字列に\ nが含まれていると、逆シリアル化に失敗しますが、それらの\ nを削除しても、逆シリアル化は成功しません。

4

1 に答える 1

4

ServiceStackのJSONシリアライザーはジェネリックをサポートしますが、ここで問題となるパブリックプロパティのみをシリアル化します。

また、この[Serializable]属性は、ServiceStackのすべてのシリアライザーを含む、.NET以外のほとんど(すべて?)のセライライザーでは重要ではありません。

于 2012-10-07T17:43:20.623 に答える