2017-05-02 2 views
0

Ich erhalte eine Ausnahme, wenn ich versuche, ein Objekt aus einer JSON-Zeichenfolge zu deserialisieren.JsonConvert löst beim Deserialisieren einer Doppeltypvariablen eine 'keine gültige Integer'-Ausnahme aus

Newtonsoft.Json.JsonReaderException 
Input string '106.890907 is not a valid integer. Path 'data[0].loc.coordinates[0]', line 1, position 9413. 

Dies ist, wie Deserialisieren ich das Objekt:

var propertiesObj = 
      JsonConvert.DeserializeObject<Location>(
       jsonObject); 

Und das ist, wie mein json

{ 
    "coordinates": 
    [ 
     106.890907, 
     -6.149393 
    ], 
    "type": "Point" 
} 

Schließlich sieht, das ist, wie ich meine Modellklasse deklarieren:

Standort.cs

public class Location 
{ 
    public List<double> coordinates { get; set; } 
    public string type { get; set; } 
} 

Ich habe diese Frage auf StackOverFlow beziehen, aber es hat mein Problem, link nicht gelöst.

Bitte helfen. Ich habe keine Lösung dafür gefunden. Vielen Dank.

+0

ist das ganze JSON? weil dieser json nicht gültig ist – Usman

+0

Nein, ist es nicht. Ich zeige nur einen Teil davon aufgrund des Problems mit vertraulichen Informationen. Jetzt habe ich es auf den richtigen json geändert. Danke für das Aufzeigen. Entschuldige meinen Fehler. –

+0

tat unter Antwort für Sie gearbeitet? – Usman

Antwort

0

Nachdem ich meine Windows neu installiert 10, Dieser Fehler verschwindet nur auf mysteriöse Weise.

0

Try this, aktualisieren JSON:

Von

"loc": { 
"coordinates": [ 
    106.890907, 
    -6.149393 
], 
"type": "Point" 
} 

Um

{ 
"coordinates": [ 
    106.890907, 
    -6.149393 
], 
"type": "Point" 
} 

dh Entfernen "loc" von Json

+0

Hallo, @Vivek. Ich zeige den falschen JSON in Frage. Ich habe es jetzt zu dem richtigen geändert. Entschuldige meinen Fehler. –

-1

Es ist Lokalisierungsproblem. Sie können Ihre CultureInfo für JsonConvert festlegen. Ich denke, Ihr System akzeptiert Doppel mit Koma (,) nicht mit Punkt (.)

Verwandte Themen