2015-06-11 2 views
1

Я пытаюсь заставить следующий код работать, но не реализовано исключение, которое возникает при попытке Serialize объекта. В нем говорится: «Метод или операция не реализованы». Я попытался реализовать ITweet как конкретный класс, но я не могу перейти от интерфейса к конкретному классу.Сериализовать Tweetinvi с помощью JsonConvert.SerializeObject

private void SendToKinesis(ITweet tweet) 
    { 


     var dataAsJson = JsonConvert.SerializeObject(tweet); 
     byte[] dataAsBytes = Encoding.UTF8.GetBytes(dataAsJson); 

     //Send to Kinesis 

    } 

Полное исключение:

System.NotImplementedException: Метод или операция не выполнена. на Tweetinvi.Logic.JsonConverters.JsonPropertyConverterRepository.WriteJson (JsonWriter автор, значение объекта, JsonSerializer сериализатора) в Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeConvertable (JsonWriter автор, JsonConverter конвертер, значение объекта, JsonContract контракта, JsonContainerContract collectionContract, JsonProperty containerProperty) на Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (JsonWriter автор, значение объекта, JsonContract valueContract, член JsonProperty, JsonContainerContract containerContract, JsonProperty containerProperty) в Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (JsonWriter автор, значение объекта, JsonObjectContract контракт, член JsonProperty, JsonContainerContract collectionContract, JsonProperty containerProperty) на Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (JsonWriter автор, значение объекта, JsonContract valueContract, член JsonProperty, JsonContainerContract containerContract, JsonProperty containerProperty) в Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (JsonWriter автор, значение объекта, JsonObjectContract контракта, член JsonProperty, JsonContainerContract collectionContract, JsonProperty containerProperty) на Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (JsonWriter автор, значение объекта, JsonContract valueContract, член JsonProperty, JsonContainerContract containerContract, JsonProperty containerProperty) в Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize (JsonWriter jsonWriter, значение объекта, тип objectType) at Newtonsoft.Json.JsonSerializer.SerializeInt ernal (JsonWriter jsonWriter, значение объекта, тип objectType) в Newtonsoft.Json.JsonSerializer.Serialize (JsonWriter jsonWriter, значение объекта, тип objectType) в Newtonsoft.Json.JsonConvert.SerializeObjectInternalA произошла первая случайная ошибка типа «System.NotImplementedException» в TwitterIngestion.exe (значение объекта, тип Type, jsonSerializer jsonSerializer) в Newtonsoft.Json.JsonConvert.SerializeObject (значение объекта, тип Type, JsonSerializerSettings настройки) в Newtonsoft.Json.JsonConvert.SerializeObject (значение Object) в TwitterIngestion .IngestionService.SendToKinesis (чириканье ITweet) в c: \ Users \ sepehr500 \ Desktop \ Workstuff \ TwitterIngestion \ TwitterIngestion \ IngestionTask.cs: строка 104

+0

Чтобы мы могли помочь, нам нужно будет узнать больше. Можете ли вы включить полный вывод ToString() для исключения, включая трассировку из 'JsonConvert.SerializeObject()'? – dbc

+0

Какой «метод или операция не реализованы»? Если вы окружаете вызов 'JsonConvert' с помощью' try {} catch (Exception ex) {Debug.WriteLine (ex); бросить; } 'вы можете увидеть полное исключение. – dbc

+0

Возможно, что TweetInvi не поддерживает сериализацию. Многие из его классов, например. ['TweetDTO'] (https://tweetinvi.codeplex.com/SourceControl/latest#Development%20-%200.9.8.x/Tweetinvi.Logic/DTO/TweetDTO.cs) используют атрибут' [JsonConverter (typeof (JsonPropertyConverterRepository))], и этот класс [не реализует запись] (https://tweetinvi.codeplex.com/SourceControl/latest#Development%20-%200.9.8.x/Tweetinvi.Logic/JsonConverters/JsonPropertyConverterRepository.cs) (всегда выдает исключение). – dbc

ответ

-1

Код:

private void SendToKinesis(ITweet tweet) 
{ 


    var dataAsJson = JsonConvert.SerializeObject<ITweet>(tweet); 
    byte[] dataAsBytes = Encoding.UTF8.GetBytes(dataAsJson); 

    //Send to Kinesis 

} 
+1

Вышеупомянутое не позволяет мне скомпилировать –

 Смежные вопросы

  • Нет связанных вопросов^_^