【问题标题】:Convert to type class dart http response body转换为类型类 dart http 响应体
【发布时间】:2020-06-18 00:58:03
【问题描述】:

我只想将 response.body 转换为名为 Collection 的类文件。

http.post 对 Flutter 的响应将导致以下代码来自 server

{"collection":{
   "data": "{\"id\": 1, 
           \"name\": \"Puspharaj\",
           \"picture\": \"https://lh3.googleusercontent.com/a-/AAuE7mC1vqaKk_Eylt- 
           fcKgJxuN96yQ72dBViK959TKsHQ=s96-c\"}",
   "statusCode": 202,
   "version": "1.0"}
}

flutter中的collection文件有这样的代码:

import 'dart:core';

class Collection {
var version = String;
/**
 * @return the data
 */
/**
 * @param data the data to set
 */
 var data = dynamic;
/**
 * @return the error
 */
/**
 * @param error the error to set
 */
var error = String;
var statusCode = int;
var isBooleanStatus = bool;
}

当我试图转换它说

“String”类型的值不能分配给“Type”类型的变量。 尝试更改变量的类型,或将右侧类型转换为“类型”

所以最终的结果应该是这样的:

Collection{
version : 1.0
data : "{\"id\": 1, 
           \"name\": \"Puspharaj\",
           \"picture\": \"https://lh3.googleusercontent.com/a-/AAuE7mC1vqaKk_Eylt- 
           fcKgJxuN96yQ72dBViK959TKsHQ=s96-c\"}"
statusCode : 202
}

所以我可以提取我想要的唯一数据。只喜欢 data 或 statuscode 。 那么如何将响应体代码转换为颤振代码呢?请任何帮助表示赞赏。

【问题讨论】:

  • 我已经更新了问题

标签: flutter dart


【解决方案1】:

试试这个

class Collection {
String version;
/**
 * @return the data
 */
/**
 * @param data the data to set
 */
 Map<String, dynamic> data;
/**
 * @return the error
 */
/**
 * @param error the error to set
 */
String error;
int statusCode;
bool isBooleanStatus;
}

【讨论】:

    【解决方案2】:

    如果您的数据包含已知列,您应该为自己创建另一个类,如下所示; else Darish 的回答更合适

    class Collection {
      Data data;
      String statusCode;
      String version;
    
      Collection(this.data, this.statusCode, this.version);
    }
    
    class Data {
      String id;
      String name;
      String picture;
    
      Data(this.id, this.name, this.picture);
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-04
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多