我使用這個代碼來解析我的JSON字符串,它拋出一個異常,錯誤的是:誤差解析JSON使用Json.Net
「」類型的未處理的異常出現在Myapp.exe附加信息:無法轉換類型爲'Newtonsoft.Json.Linq.JProperty'的對象以鍵入'Newtonsoft.Json.Linq.JObject'。
我已經正確地導入了Json.Net,並且這個非常相同的代碼在不同的子工作,並解析得很好。
這裏是我的代碼:
Dim o As JObject = JObject.Parse(responseContent)
Dim results As List(Of JToken) = o.Children().ToList
For Each item As JProperty In results
item.CreateReader()
Select Case item.Name
Case "response"
Dim BatteryCharge As String
For Each subitem As JObject In item.Values
BatteryCharge = subitem("battery_level")
MessageBox.Show(BatteryCharge)
Next
End Select
Next
的JSON字符串看起來像這一點,現在我只需要但獲取battery_level
,如果你能告訴我如何將更多,如果我需要,這將是巨大的。
{ "response": { "charging_state": "Complete", // "Charging", ?? "charge_to_max_range": false, // current std/max-range setting "max_range_charge_counter": 0, "fast_charger_present": false, // connected to Supercharger? "battery_range": 239.02, // rated miles "est_battery_range": 155.79, // range estimated from recent driving "ideal_battery_range": 275.09, // ideal miles "battery_level": 91, // integer charge percentage "battery_current": -0.6, // current flowing into battery "charge_starting_range": null, "charge_starting_soc": null, "charger_voltage": 0, // only has value while charging "charger_pilot_current": 40, // max current allowed by charger & adapter "charger_actual_current": 0, // current actually being drawn "charger_power": 0, // kW (rounded down) of charger "time_to_full_charge": null, // valid only while charging "charge_rate": -1.0, // float mi/hr charging or -1 if not charging "charge_port_door_open": true } }