3

FSharp.Data.Json ライブラリを使用して単純な json 文字列を解析しようとすると、次のエラーが発生します。F# 2.0 インタラクティブを使用しています。エラーを解決する方法についての考え

JsonValue.Parse(@"{""id"": ""117sds""}");;
System.MissingMethodException: メソッドが見つかりません: '!!0 Microsoft.FSharp.Collections.SeqModule.ExactlyOne(System.Collections.Generic.IEnumerable 1 culture) at FSharp.Data.Json.JsonValue.Parse(String text, FSharpOption`1 culture ) ) C:\Tomas\Projects\FSharp.Data\src\Library\Json.fs:line 215 at .$FSI_0063.main@()1<!!0>)'.
at FSharp.Data.Json.JsonParser..ctor(String jsonText, FSharpOption


4

3 に答える 3

5

Jack が指摘したように、F# データ ライブラリは実際には F# 3.0 でしか機能しません。F# のバージョンを更新できる場合は、それが機能し、他の利点 (型プロバイダーなど) が得られます。

アップグレードできない場合は、JSON パーサーとランタイムを含むファイルをプロジェクトにコピーし、F# 2.0 をサポートするようにいくつか変更することができます (ライセンスで許可されています)。必要なファイルはJson.fsです。

2.0 バージョンをサポートする必要はないと思いますが (今のところ)、修正が簡単な場合は、変更を含むプル リクエストを送信してください。それをマージして、他の人がこれを簡単に行えるようにすることができます。

于 2013-06-01T01:09:01.950 に答える
4

Seq.exactlyOneF# 3.0 でのみ使用できるメソッドです。残念ながら、F# 2.0 内から FSharp.Data ライブラリを使用する簡単な方法はありません。

于 2013-05-31T22:38:16.180 に答える
0

バージョン 1.1.6 の時点で、ランタイム コンポーネント (Json パーサー、Csv パーサー、および Http ユーティリティ) は、FSharp.Core 4.0.0.0 (F# 2.0 バージョン) に存在しないメソッドを使用しなくなったため、FSharp を使用できるようになります。型プロバイダーを使用しない場合の F# 2.0 の .Data

于 2013-07-01T13:40:36.880 に答える