2016-08-07 18 views
2

Ich habe versucht, unter JSON Antwort von einem API deserialisieren von Newtonsoft.Json mit:Deserialize JSON

{ 
"status": "success", 
"data": { 
    "candles": [ 
     ["2015-12-28T09:15:00+0530", 1386.4, 1388, 1381.05, 1385.1, 788], 
     ["2015-12-28T09:16:00+0530", 1385.1, 1389.1, 1383.85, 1385.5, 609], 
     ["2015-12-28T09:17:00+0530", 1385.5, 1387, 1385.5, 1385.7, 212], 
     ["2015-12-28T09:18:00+0530", 1387, 1387.95, 1385.3, 1387.95, 1208], 
     ["2015-12-28T09:19:00+0530", 1387, 1387.55, 1385.6, 1386.25, 716], 
     ["2015-12-28T09:20:00+0530", 1386.95, 1389.95, 1386.95, 1389, 727], 
     ["2015-12-28T09:21:00+0530", 1389, 1392.95, 1389, 1392.95, 291], 
     ["2015-12-28T09:22:00+0530", 1392.95, 1393, 1392, 1392.95, 180], 
     ["2015-12-28T09:23:00+0530", 1392.95, 1393, 1392, 1392.15, 1869] 
     ... 
     ["2016-01-01T13:22:00+0530", 1386.4, 1388, 1381.05, 1385.1, 788], 
     ["2016-01-01T13:23:00+0530", 1385.1, 1389.1, 1383.85, 1385.5, 613], 
     ["2016-01-01T13:24:00+0530", 1385.5, 1387, 1385.5, 1385.7, 212], 
     ["2016-01-01T13:25:00+0530", 1387, 1387.95, 1385.3, 1387.95, 1208], 
     ["2016-01-01T13:26:00+0530", 1387, 1387.55, 1385.6, 1386.25, 716], 
     ["2016-01-01T13:27:00+0530", 1386.95, 1389.95, 1386.95, 1389, 727], 
     ["2016-01-01T13:28:00+0530", 1389, 1392.95, 1389, 1392.95, 291], 
     ["2016-01-01T13:29:00+0530", 1392.95, 1393, 1392, 1392.95, 180], 
     ["2016-01-01T13:30:00+0530", 1392.95, 1393, 1392, 1392.15, 1869] 
    ] 
    } 
} 

Haben unter Klasse erstellt die Ausgabe zu wickeln, aber Fehler bekommen, während Deserialisierung:

<Serializable()> 
Public Class JSON_Model_HistoricalData 
    Public Property status As String 
    Public Property data As Data 
End Class 

<Serializable()> 
Public Class Data 
    Public Property candles() As List(Of Candles_Data) 
End Class 

<Serializable()> 
Public Class Candles_Data 
    Public Property candles() As String 
End Class 

die Fehlermeldung:

enter image description here

Anyo können ne bitte, wo ich falsch liege?

Antwort

1
hält diese

Versuchen
C#

public class Rootobject 
{ 
    public string status { get; set; } 
    public Data data { get; set; } 
} 

public class Data 
{ 
    public object[][] candles { get; set; } 
} 

vb

Public Class Rootobject 
    Public Property status As String 
    Public Property data As Data 
End Class 

Public Class Data 
    Public Property candles()() As Object 
End Class 
1

es mit der geänderten Klasse Versuchen Candles_Data ein Array von Objekten

<Serializable()> 
Public Class Candles_Data 
    Public Property candles() As Object 
End Class 

als Arrays in den JSON halten Strings sowie Zahlen

+0

Hallo, kein Glück, es wirft dieselbe Fehlermeldung nach dem Ändern, wie Sie vorgeschlagen haben, – Coder

0

sollte dieser Klasse arbeiten:

Public Class Data 
    <JsonProperty("candles")> 
    Public Property Candles As Object()() 
End Class 

Public Class JSON_Model_HistoricalData 
    <JsonProperty("status")> 
    Public Property Status As String 

    <JsonProperty("data")> 
    Public Property Data As Data 
End Class 

Hier sind zwei Werkzeuge, die Sie könnten mit in Zukunft betrachten Sie Ihre Aufgabe zu vereinfachen:

  • JSONLint - Ein JSON Validator
  • JSON Utils - Wird verwendet, um JSON-Klassen für alle .NET-Sprachen zu generieren