繁体   English   中英

将 object 转换为可编码的 object 失败:_linkedhashmap len:1 Flutter

[英]Converting object to an encodable object failed: _linkedhashmap len:1 Flutter

我有一个 map 包含两个标准键和值对,例如

_body = {
          "expected_time": "$Time",
          "payment": "$payment",
          "receiver" : {},
};

如您所见,其中还有另一个名为接收器的 map。 稍后将使用 for 循环将值传递给接收器,并且可以很好地添加信息。

for(int i=0; i<=n; i++)
{
  _body['receiver'][i] = {

            "receiver_name" : "abc",
};
}

The issue I'm facing is when trying to send this map to an api call via http.post there jsonEncode(body) has been used to encode the map to send it. 发送这些简单的键值对时,我没有收到任何错误,但是当我尝试包含接收器字段时,我收到错误“将 object 转换为可编码的 object 失败:_linkedhashmap len:1”。

谁能告诉我我需要在这里做什么? 谢谢!

你没有以正确的方式做到这一点,试试这个

var _body = {
 "expected_time": "time",
 "payment": "payment",
 "receiver" : {},
};

for(int i=0; i<=3; i++) {
 _body.addAll({
  'receiver[$i]': {
    "receiver_name": "abc",
  }
 });
}
print(_body);

output 是这样的

{expected_time: time, payment: payment, receiver: {}, receiver[0]: {receiver_name: abc}, receiver[1]: {receiver_name: abc}, receiver[2]: {receiver_name: abc}, receiver[3]: {receiver_name: abc}}

您现在可以对其进行编码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM