F#TypeInitializationException抛出解析Json文件

时间:2018-01-23 12:36:01

标签: f# type-providers

玩F#Type提供商并且没有太远。我有以下json文件(称为PriceDemand.json):

[
  {
    "intervalDate": "2018-01-22T00:00:00+11:00",
    "regionId": "NSW1",
    "rrp": 114.17,
    "totalDemand": 12338.04
  },
  {
    "intervalDate": "2018-01-22T00:00:00+11:00",
    "regionId": "NSW1",
    "rrp": 113.41,
    "totalDemand": 12334.98
  }
]

我已编写以下代码来处理它:

open FSharp.Data
open System

type PriceDemand = JsonProvider<"PriceDemand.json">
let data = PriceDemand.Parse("PriceDemand.json")

[<EntryPoint>]
let main argv =


    data |> Seq.iter (fun v -> printf "%s" v.RegionId)

    Console.ReadLine() |> ignore
    0 // return an integer exit code

我有PriceDemand类型的智能感知,但是引发了以下TypeInitializationExceptionexception

  

从字符0开始的无效JSON,
  snippet =
  ---- PriceDemand
  ----- json =
  ------ PriceDemand.json

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:4)

您正在呼叫.Parse,您应该拨打.Load。字符串"PriceDemand.json"正在被解析为JSON,这是无效的。如果您将呼叫更改为let data = PriceDemand.Load("PriceDemand.json"),则应该可以正常工作。