このJSON文字列(非常に大きな文字列の一部)をOracleサーバーから受け取ります(データは変更できません)が、これを逆シリアル化できないという面倒な問題が発生します。
"rows":[
{
"1":"0000000001",
"2":"SPARE00002",
"5":"151.3354",
"13":"100",
"100000":"000000",
"100001":"FFFFFF",
"rowid":"0000000001"
},
NewtonSoft.JSonを使用すると、クラスが作成されます。
public class Row
{
public string __invalid_name__1 { get; set; }
public string __invalid_name__2 { get; set; }
public string __invalid_name__5 { get; set; }
public string __invalid_name__13 { get; set; }
public string __invalid_name__100000 { get; set; }
public string __invalid_name__100001 { get; set; }
public string rowid { get; set; }
}
そして、クラスに逆シリアル化しようとすると、素晴らしいエラーが発生します:式を評価できませんでした。
これを正しくフォーマットして、文字列NAMEがJSON文字列によって送信されたプロパティ名と同じであることをc#が認識できるようにする方法はありますか?
どんな助けでも大歓迎です!
編集!解決策を見つけました!無効な名前の文字列に[JsonProperty( "1")] ..etcを追加することで、問題は解決しました。素晴らしい!