次のjsonには、名前のない配列やその他の名前付きプロパティが含まれています。私はNewtonsoft.Jsonを使ってクラスにデシリアライズする方法を知りたいです。Json arryとその他のプロパティの逆シリアル化(C#)
{
"message": "success",
[
{
"timestamp": 1509723862,
"tid": 84823616,
"price": "7344.7",
"amount": "0.36108123",
"exchange": "bitfinex",
"type": "sell"
},
{
...
}
]
}
私は serializer.DeserializeObject < 一覧<レスポンス>>(serializedObject)を使用して、配列をデシリアライズでき知っているが、JSONは、他のプロパティが含まれているとして、それはJSON-配列文字列ではありません。
私はクラス怒鳴るに、文字列にリストに配列し、「メッセージ」プロパティをデシリアライズするNewtonsoft.Jsonを伝えるために使用できる任意の構成があります:
public class Response
{
public string Message {get;set;}
public List<ResponseItem> ResponseItems {get;set;}
}
public class ResponseItem {
string timestamp {get;set;}
(...)
}
?あなたはそれを修正することはできませんか? – CodeCaster
私はこの問題を誤解していると思います。実際、それは常に私に有効なjsonを与えます。私がhttps://api.bitfinex.com/v1/trades/BTCUSDに問い合わせると、有効なjson配列を返します。私がhttps://api.bitfinex.com/v1/trades/BTCUSDxxxを要求すると、それは私に有効なjsonをもう一度与えるが、今回は別のものを与える。私がしようとしているのは、1つのクラス(両方の応答を含む)だけを持つことです。それが可能であるかどうかはわかりません。 – FelipeDrumond
json **は**無効です。https://jsonlint.com/に入れてください。無効なjsonを逆シリアル化することはできません。あなたの最初のステップは、jsonを修正することです – Liam