所以我的项目有一个小问题。这是我正在运行以获取 JSON 值的当前函数:
func makeCommand_GetCS() {
if let vehicle = vehicle {
_ = api.gVV(vehicle).done {
(chargeState: ChargeState) -> Void in
self.responseView.text = "Charger max current: \(String(describing: chargeState.chargerPilotCurrent))\n\(chargeState.jsonString!)"
}
}
}
此函数为我提供以下 JSON 字符串:
charger max current: Optional(13)
{
"fast_charger_type" : "MCSingleWireCAN",
"timestamp" : 1624456289921,
"est_battery_range" : 205.99000000000001,
"charge_energy_added" : 5.5099999999999998,
"charge_current_request_max" : 13,
"fast_charger_brand" : "<invalid>",
"charger_phases" : 1,
"fast_charger_present" : false,
"battery_heater_on" : false,
"time_to_full_charge" : 0,
"charge_current_request" : 7,
"battery_range" : 235.06999999999999,
"managed_charging_active" : false,
"charge_port_door_open" : true,
"charge_limit_soc_std" : 90,
"charger_actual_current" : 0,
"charge_port_latch" : "Engaged",
"charge_enable_request" : true,
"charger_voltage" : 2,
"trip_charging" : false,
"charger_pilot_current" : 13,
"charge_rate" : 0,
"conn_charge_cable" : "IEC",
"charge_limit_soc_max" : 100,
"charge_limit_soc_min" : 50,
"usable_battery_level" : 89,
"ideal_battery_range" : 235.06999999999999,
"max_range_charge_counter" : 0,
"charger_power" : 0,
"scheduled_charging_pending" : false,
"charge_miles_added_rated" : 27,
"battery_level" : 90,
"charge_to_max_range" : false,
"charge_port_cold_weather_mode" : false,
"charge_miles_added_ideal" : 27,
"managed_charging_user_canceled" : false,
"charge_limit_soc" : 77,
"charging_state" : "Complete"
}
如何仅获取值charge_limit_soc
并将其存储为int
变量?
编辑:ChargeState.swift:https ://pastebin.com/Z3vJsD77
基于您在上面发布的此文件https://pastebin.com/Z3vJsD77。
您可以直接chargeLimitSOC
从此模型访问该属性,如下所示 -
let chargeLimitSOC = chargeState.chargeLimitSOC
您模型中的相关部分在这里 -
open class ChargeState: Codable {
open var chargeLimitSOC: Int?
enum CodingKeys: String, CodingKey {
case chargeLimitSOC = "charge_limit_soc"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句