2017-01-31 1 views
-1

Ich versuche, eine FeedResponse in Liste zu konvertieren, aber andernfalls die Zeichenfolge serialisiert werden, da es ein Fehlereine FeedResponse <Class> in Liste konvertieren <Class> in DocumentDB

kann nicht deserialisiert die aktuelle JSON-Objekt (zB { "name wirft ":" value "}) in den Typ 'System.Collections.Generic.List`1 [Lutran.Api.Models.Infinity]', da der Typ ein JSON-Array benötigt (zB [1,2,3]), um korrekt zu deserialisieren. Um diesen Fehler zu beheben, ändern Sie den JSON entweder in ein JSON-Array (zB [1,2,3]) oder ändern Sie den deserialisierten Typ so, dass es ein normaler .NET-Typ ist (zB kein primitiver Typ wie Integer, kein Collection-Typ) wie ein Array oder eine Liste), die aus einem JSON-Objekt deserialisiert werden können. JsonObjectAttribute kann auch zum Typ hinzugefügt werden, um die Deserialisierung von einem JSON-Objekt zu erzwingen. Pfad ‚token‘, Zeile 1, Position 9.

Ich habe die Logik für die Paginierung mit den diesen link und bekam die Daten verwendet werden, wenn das gesamte Ausgangsobjekt zurückkehrt, aber wenn im es fails.Tried zu konvertieren versuchen, mit ein Objekt, das zwar numeriert werden kann, aber einen Fehler bei der Typkonvertierung zeigt. Wird ein dynamisches Objekt verwendet, kann jedoch keinen ResponseContinuation-Wert daraus extrahieren.

Newton Weich Unter Verwendung der json zu konvertieren (deserialisieren die Zeichenfolge)

var query = client.CreateDocumentQuery<Document>(collection, options).AsDocumentQuery(); 

if (query.HasMoreResults) 
{ 
    var result = await query.ExecuteNextAsync<LeadDataView>(); 

    objLeadDataView.ResponseContinuation = result.ResponseContinuation; 
    objLeadDataView.InfinityDataView = JsonConvert.DeserializeObject<List<Infinity>>(result.ToString()); 
    response = objLeadDataView; 
} 
+0

Ihre Ausnahmemeldung selbsterklärend ist, können Sie _Newtonsoft Json_ verwenden Ihre json zu .net Objekt zu analysieren –

+0

den Code Bitte senden Sie folgende [MVCE] (http://stackoverflow.com/help/mcve) – peval27

+0

@RahulSingh checck der Code ich bekomme diesen Fehler, wenn ich versuchte mit jsonconvert nur von newtonsoft –

Antwort

0

ich es

public class LeadDataView 
{ 
    public string ResponseContinuation { get; set; } 

    public FeedResponse<Infinity> InfinityDataView { get; set; } 
} 

if (query.HasMoreResults) 
      { 
       var result = await query.ExecuteNextAsync<Infinity>(); 

       objLeadDataView.ResponseContinuation = result.ResponseContinuation; 
       objLeadDataView.InfinityDataView = result; 
       response = objLeadDataView; 
      } 

So schickte der obige Code das Token Fortsetzung auf und unendlich Klassendaten unten herausgefunden. enter image description here

Verwandte Themen