首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串到对象列表的颤振Http响应体

从字符串到对象列表的颤振Http响应体
EN

Stack Overflow用户
提问于 2022-08-24 12:41:14
回答 2查看 446关注 0票数 1

嗨,我目前正在尝试从API中获取一些数据,以便稍后将其转换为对象类。

我收到的json回答不是一个列表,直接是一个字符串。

代码语言:javascript
复制
{
"00-01": {
    "date": "24-08-2022",
    "hour": "00-01",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 617.5,
    "units": "€/Mwh"
},
"01-02": {
    "date": "24-08-2022",
    "hour": "01-02",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 640.05,
    "units": "€/Mwh"
},
"02-03": {
    "date": "24-08-2022",
    "hour": "02-03",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 670.26,
    "units": "€/Mwh"
},
"03-04": {
    "date": "24-08-2022",
    "hour": "03-04",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 683.64,
    "units": "€/Mwh"
},
"04-05": {
    "date": "24-08-2022",
    "hour": "04-05",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 692.88,
    "units": "€/Mwh"
},
"05-06": {
    "date": "24-08-2022",
    "hour": "05-06",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 681.87,
    "units": "€/Mwh"
},
"06-07": {
    "date": "24-08-2022",
    "hour": "06-07",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 624.35,
    "units": "€/Mwh"
},
"07-08": {
    "date": "24-08-2022",
    "hour": "07-08",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 624.82,
    "units": "€/Mwh"
},
"08-09": {
    "date": "24-08-2022",
    "hour": "08-09",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 623.24,
    "units": "€/Mwh"
},
"09-10": {
    "date": "24-08-2022",
    "hour": "09-10",
    "is-cheap": false,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 558.55,
    "units": "€/Mwh"
},
"10-11": {
    "date": "24-08-2022",
    "hour": "10-11",
    "is-cheap": false,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 511.3,
    "units": "€/Mwh"
},
"11-12": {
    "date": "24-08-2022",
    "hour": "11-12",
    "is-cheap": false,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 493.36,
    "units": "€/Mwh"
},
"12-13": {
    "date": "24-08-2022",
    "hour": "12-13",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 484.42,
    "units": "€/Mwh"
},
"13-14": {
    "date": "24-08-2022",
    "hour": "13-14",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 487.58,
    "units": "€/Mwh"
},
"14-15": {
    "date": "24-08-2022",
    "hour": "14-15",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 426.72,
    "units": "€/Mwh"
},
"15-16": {
    "date": "24-08-2022",
    "hour": "15-16",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 418.28,
    "units": "€/Mwh"
},
"16-17": {
    "date": "24-08-2022",
    "hour": "16-17",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 422.18,
    "units": "€/Mwh"
},
"17-18": {
    "date": "24-08-2022",
    "hour": "17-18",
    "is-cheap": true,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 430.63,
    "units": "€/Mwh"
},
"18-19": {
    "date": "24-08-2022",
    "hour": "18-19",
    "is-cheap": false,
    "is-under-avg": true,
    "market": "PVPC",
    "price": 495.26,
    "units": "€/Mwh"
},
"19-20": {
    "date": "24-08-2022",
    "hour": "19-20",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 579.65,
    "units": "€/Mwh"
},
"20-21": {
    "date": "24-08-2022",
    "hour": "20-21",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 614.08,
    "units": "€/Mwh"
},
"21-22": {
    "date": "24-08-2022",
    "hour": "21-22",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 625.97,
    "units": "€/Mwh"
},
"22-23": {
    "date": "24-08-2022",
    "hour": "22-23",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 582.99,
    "units": "€/Mwh"
},
"23-24": {
    "date": "24-08-2022",
    "hour": "23-24",
    "is-cheap": false,
    "is-under-avg": false,
    "market": "PVPC",
    "price": 617.25,
    "units": "€/Mwh"
}

}

我想把这个结果转换成一个LightHours,在这里每个人都是一个课小时。

我的主要想法是得到一个List<LightHours> = {Hours,...}

此外,我还尝试执行以下操作:LightPrice lightPrice = LightPrice.fromJson(jsonDecode(response.body));,但它只将每个字段作为null。

但是使用json到Dart转换器,它不允许我。

如何将该响应转换为两个对象类?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-24 13:02:07

代码语言:javascript
复制
//your json string
String jsonString = json.encode(data);

//convert json string to list
List<String> newData = List<String>.from(json.decode(jsonString));

这将有助于转换

票数 0
EN

Stack Overflow用户

发布于 2022-08-24 12:52:27

像这样的事情也许会奏效:

代码语言:javascript
复制
List<LightPrice> list = (jsonDecode(response.body) as Map<String,
    Map<String, dynamic>>).values.map<LightPrice>((value) =>
    LightPrice.fromJson(value)).toList();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73473374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档