それはとても厳格に判断してはいけない... SO上の私の最初の質問です=)F#データ:JSONパーサー。 JsonExtensions
を使用して通常すべての私の質問は、()=、それらの多くは、私を信じて)chat roomsにtechout。
最近、私たちはRosettaCodeについて話しています。そして私はいくつかのタスクコードをFに補完することを考えました
どれかがJSONです。
"F#Data:JSON Parser"の使用が考えられます。だから私の質問はそれに関連している。
このコードではうまく機能:
open FSharp.Data
open FSharp.Data.JsonExtensions
type Person = {ID: int; Name:string}
let json = """[ { "ID": 1, "Name": "First" }, { "ID": 2, "Name": "Second" }]"""
json |> printfn "%s"
match JsonValue.Parse(json) with
| JsonValue.Array(x) ->
x |> Array.map(fun x -> {ID = System.Int32.Parse((x?ID).ToString()); Name = (string x?Name)})
| _ -> failwith "fail json"
|> Array.iter(fun x -> printfn "%i %s" x.ID x.Name)
印刷:
[ { "ID": 1, "Name": "First" }, { "ID": 2, "Name": "Second" }]
1 "First"
2 "Second"
しかし、それ
{ID = System.Int32.Parse((x?ID).ToString()); Name = (string x?Name)}
は良い見ていません。
This私は、JsonExtensionsについて
を読んで私は
{ID = (x?ID.AsInteger()) ; Name = (x?Name.AsString()) }
を使用するとき、私はコンパイルエラーを取得:
フィールド、コンストラクタ、または "AsIntegerは"
を定義されていません。
フィールド、コンストラクタ、または "AsString"はnです。 JsonExtensionsを使用する方法:OTは
不思議
を定義し、事は、私が "オープンFSharp.Data.JsonExtensions" を通じて
を、アクセシビリティを見ること質問ですか?
はい、エラーは同じです –
http://i.stack.imgur.com/l9Rz5。png –
これは非常に混乱しています。どのバージョンのF#+ VSを使用していますか? –