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 유형 공급자의 데이터 샘플] 가능한 중복 (http://stackoverflow.com/questions/28978716/data-sample-for-json-type-provider-with-optional-property) –
짧은 대답은'SampleIsList'를'true'로 설정하고 모든 가능한 모양의 json 객체 목록을 제공하는 것입니다. –
필자의 경우 SampleIsList가 작동하지 않는다는 인상을 받았습니다. 내 질문에 언급했듯이, 나는 목록으로 일하지 않고, 단지 1 개의 객체로 작업한다. SampleIsList를 추가 한 후에도 Address 객체를 요청하면 예외가 발생합니다. System.Exception : '/ Person'에 'Address'속성이 없습니다. { "FirstName": "John", "Age": 42, "Address": null} – jtourlamain