Ich habe die folgenden JSON, die ein unbenanntes Array und andere benannte Eigenschaften enthält. Ich würde gerne wissen, wie man es mit Newtonsoft.Json zu einer Klasse deserialisiert.Json Arry und andere Eigenschaften Deserialisierung (C#)
{
"message": "success",
[
{
"timestamp": 1509723862,
"tid": 84823616,
"price": "7344.7",
"amount": "0.36108123",
"exchange": "bitfinex",
"type": "sell"
},
{
...
}
]
}
Ich weiß, ich könnte das Array deserialisieren mit serializer.DeserializeObject < Liste < Antwort>> (serializedObject), aber als die json andere Eigenschaften enthält, ist es kein json-Array String.
Gibt es eine Konfiguration, die ich Newtonsoft.Json sagen, verwenden könnte das Array in eine Liste deserialisieren, und die ‚Nachricht‘ Eigenschaft auf eine Zeichenfolge, in der Klasse Gebrüll:
public class Response
{
public string Message {get;set;}
public List<ResponseItem> ResponseItems {get;set;}
}
public class ResponseItem {
string timestamp {get;set;}
(...)
}
Warum Sie ungültige JSON zu analysieren versuchen? Kannst du es nicht reparieren? – CodeCaster
Ich glaube, ich habe das Problem falsch verstanden. Eigentlich gibt es mir immer einen gültigen JSON. Wenn ich https://api.bitfinex.com/v1/trades/BTCUSD frage, wird ein gültiges json-Array zurückgegeben. Wenn ich https://api.bitfinex.com/v1/trades/BTCUSDxxx anfordere, gibt es mir wieder einen gültigen JSON, aber diesmal einen anderen. Was ich versuche zu tun, ist nur eine Klasse (mit beiden Antworten). Nicht sicher, dass es möglich ist. – FelipeDrumond
Das json ** ist ** ungültig, setzen Sie es in https://jsonlint.com/ und Sie werden sehen. Sie können ungültiges JSON nicht deserialisieren. Ihr erster Schritt sollte sein, den JSON zu korrigieren – Liam