問題タブ [aeson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - Aeson parseJSON での安全な読み取り
Aeson を使用して、Yahoo の API からの json 引用データを解析しています。引用は次のようになります。
(このYQLクエリを使用しています)
ご覧のとおり、数字が引用されています。fromJSON
次のような実装を書くことができます:
これは、導出されるものと同じです。残念ながら、これは、Open、High、Low などを Text タイプにしたい場合にのみ機能します。これらのフィールドのいずれかを Double として使用しようとすると、解析が失敗します。
私はこれを書くことができます:
好きなように取得しますがread
、これは部分関数である を使用します。部分関数を使用せずに上記の機能を取得するにはどうすればよいですか?
json - Aeson: ネストされたオブジェクトを (Map String MyShinyType) として解析する
「プロパティ」フィールドを持つjson-schemaファイルがあります。
ご覧のとおり、プロパティは配列ではなくオブジェクトです。この構造を aeson として解析したいMap String Schema
現時点での私のコードは次のようになります。
そして、それは機能しません。Generics をオンにして FromJSON インターフェースを自動派生させると、Aeson はおまじないのようにプロパティを解析しますが、「$schema」フィールドと「type」フィールドを手動でマッピングする必要があります。
正しく解析するにはどうすればよいですか?
皆さん、8時間の睡眠の後、私はついに問題が何であるかを理解しました! 私のスキーマには field がありますが"type": ["string", "null"]
、パーサーは「タイプ」が文字列であると想定しています。助けてくれてありがとう:)
haskell - Aesonで解析エラーを追跡する方法は? [+回答]
解析する大きな (>1Mb) シンプルな JSON ファイルがあります。彼らの School of Haskell の fpcomplete のチュートリアルに従って、私は Aeson を使用しました (皆さん、ありがとうございました)。
一部のファイル (すべてではない) が失敗するため、json ファイルが想定している構造を尊重していないと思われます。今までに受け取ったエラーメッセージは
私の質問は:
- 「問題の詳細を確認するにはどうすればよいですか?」
デバッグ/ロギング/トレースの 2 つのレベルが私の目標を構成します。
- パーサーの識別、つまり解析できなかったデータ型 (Parsec の場合など)
- 行/文字番号によるデータの識別
json - Aeson で使用されるデフォルトの ToJson 形式の仕様
Aeson の ToJSON によって ADT がどのように Json に変換されるかについてのドキュメントをどこで見つけることができるか知っている人はいますか? バックエンド アプリケーションに Haskell を使用しており、フロント エンドで別の関数型言語の JSON デコーダーを作成しようとしています。そのため、同じ JSON 形式を使用してそれらの間でメッセージを送信できるようにしたいと考えています。