ユーザーがjsonファイルをアップロードできる関数を作成しようとしています。オブジェクトを処理するためのJSONを作成します。いくつかのプロパティは常に同じで、いくつかの違いがあります
jsonファイル内の各行には、異なるnrのプロパティ(列)を設定できます。 これらのプロパティのうちの5つは常に同じであるため、それらをオブジェクトに逆シリアル化する必要があります。残りのプロパティは辞書などに入れなければなりません。ここで
は、JSONの例である:ここで
[{
"Projekt": "Bakker Bouw Service",
"Ruimte": "Hoofdgebouw",
"Apparaat": {
"project": "Bosboom001",
"versie": "812"
},
"Apparaat naam": "",
"Status": "Goedgekeurd",
"Testname1": "",
"Testname3": "2000-01-04T10:37:00+01:00",
"Testname7": "2001-01-03T00:00:00+01:00"
}, {
"Projekt": "Bakker Bouw Service",
"Ruimte": "Hoofdgebouw",
"Apparaat": {
"project": "Vlaams003",
"versie": "713"
},
"Apparaat naam": "",
"Status": "Goedgekeurd",
"Testname1": "Slecht",
"Testname7": "2000-01-04T10:37:00+01:00",
"Testname9": "2001-01-03T00:00:00+01:00",
"Testname16": "18MOhm",
"Testname23": "OK"
}, {
"Projekt": "Bakker Bouw Service",
"Ruimte": "Hoofdgebouw",
"Apparaat": {
"project": "Vlaams017",
"versie": "73"
},
"Apparaat naam": "GDR34Z5",
"Status": "Afgekeurd",
"Testname7": "2000-01-04T10:37:00+01:00",
"Testname10": "0,012mA",
"Testname16": "200MOhm",
"Testname23": "200MOhm",
"Testname25": "Afgekeurd",
"Testname31": "0,01mA"
}
]
はにdeserialzeするクラスです:
public class KeuringRegel
{
public string Projekt { get; set; }
public string Ruimte { get; set; }
public Apparaat Apparaat { get; set; }
[JsonProperty(PropertyName = "Apparaat naam")]
public string Apparaatnaam { get; set; }
public string Status { get; set; }
public Dictionary<string, object> testNames { get; set; }
}
public class Apparaat
{
public string project { get; set; }
public string versie { get; set; }
}
そして、ここでJSONが正常にデシリアライズコントローラ
public IActionResult Upload(IFormFile file)
{
string fileContent = null;
using (var reader = new StreamReader(file.OpenReadStream()))
{
fileContent = reader.ReadToEnd();
}
List<KeuringRegel> keuringRegelList = JsonConvert.DeserializeObject<List<KeuringRegel>>(fileContent);
//More stuff here
}
ですが、 testNames
値は常にnullです。私は理由を理解しています。なぜなら、JsonファイルにはtestNames
というプロパティがないからです。しかし、私は何をしたいのですか?私はJsonの専門家ではない。
完全な例がありますか? –
https://codebeautify.org/jsonviewer –
おそらく、JSONの形式を変更できるかどうか、あるいはそのまま解析する必要があるかどうかを尋ねることを意味していました。 – CodeCaster