JSONファイルの欠損データを処理するにはどうすればよいですか?データのリストでは、単にマップ関数を使うことができます。F#JSONデータが欠落しているとtypeproviderがクラッシュする
{
"Person":{
"FirstName":"John",
"LastName":"Doe",
"Age": 42,
"Address": {
"Street": "SomeStreet",
"City" : "Some City"
}
}
}
そして、私の実際のデータのような入って来:
{
"Person":{
"FirstName":"John",
"Age": 42
}
}
私はアドレスをオプションにする方法を見つけ出すことはできませんが、オブジェクトに関する
は、私はサンプルデータを持っているものを言います。
type personJson = JsonProvider<"Data/personSample.json">
let personData = testJson.Load("Data/personData.json")
let address = personData.Person.Addres // gives an exception
はまた、オプションにそれを変換しようとすると、P = personData.Personを聞かせて 失敗します.Address |> Option.ofObj
タイプ 'JsonProvider < ...'タイプのアドレスが '2'で適切な値として 'null'を持っていないため、 35
一部のデータが欠落しているファイルごとにコードを変更する必要があるとは思いません。
これを解決するにはどうすればよいですか?
[任意のプロパティを持つJSONタイププロバイダのデータサンプル](0120-17752)の可能な複製。 –
簡単な答えは 'SampleIsList'を' true'に設定し、すべての可能な形のjsonオブジェクトのリストを与えることです。 –
私の場合、SampleIsListが機能しないという印象があります。私の質問で述べたように、私はリストではなく、ただ1つのオブジェクトで動作します。 SampleIsListを追加した後も、Addressオブジェクトを要求すると例外が発生します。System.Exception: '/ Person'に{'FirstName ":" John "、" Age ":42、" Address " null} – jtourlamain