그래서 나는 다음과 같은 F 번호 방법파싱 된 JSONProvider 결과를 Model 객체로 반환하여 MVC 뷰에서 사용할 수 있습니까? 내가보기에 그 결과를 사용하는 어쨌든이이 메서드를 호출 C#을 컨트롤러가있는 경우
static member ReadInstagramSearch() =
let data = Http.Request("https://api.instagram.com/v1/users/search?q=SomeUSer&client_id=someclientid")
let res = FsUserSearch.Parse(data)
res.Data.[0]
있나요? 나는
@Model.FirstName
와 단순한 접근 시도했다 그러나 그것은 나에게 예외를 제공
'FSharp.Data.RuntimeImplementation.JsonDocument' does not contain a definition for 'FirstName'
강력한 형식의 모델 객체로 JsonDocument 것을 설정하는 내 유일한 옵션인가? 그리고 그걸 돌려 주겠습니까?
이
은 http://fsharp.github.io/FSharp.Data/library/JsonProvider.html을 사용하고
type FsUserSearch = JsonProvider<"""
{
"data": [{
"username": "jack",
"first_name": "Jack",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
"id": "66",
"last_name": "Dorsey"
}]
}""">
그게 내가 생각한 것입니다. 나는 F #을 배우는 과정에 있는데, 내가 모르고있는 기능이 있다면 궁금했다. 나는 약간의 확장 방법을 시도해 보았고, C#은 정말로 그들을 좋아하지 않았다. "FSharp.Data.Json.Extensions"를 사용하여 추가 및 FSharp.Data.DesignTime 및 FSharp.Data dlls 참조되는 DLL에 대한 불만. 그 확장은 F #에서 잘 작동하지만 C#에서는 작동하지 않습니다. 그래서 나는 아마 레코드 타입으로 갈 것이지만 나는 게으르기를 바랬습니다 :-)하지만 나는 새로운 F # 지식으로 더 빨리 그리고 더 적은 의식으로 그들을 만들 수 있다고 생각합니다. 빠른 답장을 보내 주셔서 감사합니다 !!! –
필자는 레코드가 가장 쉬운 옵션이라고 생각합니다 ... DLL의 경우 C# 부분에는 FSharp.Data.dll 만 필요합니다 ('DesignTime'은 유형 공급자를위한 것이며 C# 프로젝트에 전혀 필요하지 않아야합니다 -하지만 Visual Studio에서 복사하기 때문에 ASP.NET을 혼란스럽게 할 수 있습니다 ...) –
그런 식으로 추가했을 때 누그 패키지와 함께 제공되는 것은 맞습니다 ... 컴파일하지 않고 멋지게 컴파일합니다. 레코드가 잘 작동하는 것으로 밝혀졌으며 JSON 데이터를 XML 필드로 변환하기 위해 실제로 JSON 데이터를 XML 필드로 변환하기 위해 정말 멋지게 작업 한 JsonToXML F # 샘플을 사용했습니다. 예 :-) –