gpt4 book ai didi

json - "Unexpected Character"解码 JSON

转载 作者:IT王子 更新时间:2023-10-29 06:51:57 24 4
gpt4 key购买 nike

代码如下:

    static TodoState fromJson(json) {
JsonCodec codec = new JsonCodec();
List<Todo> data = codec.decode(json["todos"]);
VisibilityFilter filter = codec.decode(json['visibilityFilter']);

return new TodoState(todos: data,
visibilityFilter: filter);
}

Android Studio 产生的错误:

[VERBOSE-2:dart_error.cc(16)] Unhandled exception: FormatException: Unexpected character (at character 3)

知道如何让它发挥作用吗?

enter image description here

这是由 Redux 生成的 Json 的输出。

最佳答案

您的代码以及您尝试解析的字符串都有问题。我会尝试找出该字符串的生成位置,或者如果您自己执行此操作,也请发布该代码。

有效的 Json 在名称周围使用“”,在字符串周围使用“”。您的字符串在名称周围不使用任何内容,在字符串周围不使用 ''。

如果将其粘贴到 DartPad 中,第一个会出错,而第二个会成功:

import 'dart:convert';

void main() {
JsonCodec codec = new JsonCodec();
try{
var decoded = codec.decode("[{id:1, text:'fdsf', completed: false},{id:2, text:'qwer', completed: true}]");
print("Decoded 1: $decoded");
} catch(e) {
print("Error: $e");
}

try{
var decoded = codec.decode("""[{"id":1, "text":"fdsf", "completed": false},{"id":2, "text":"qwer", "completed": true}]""");
print("Decoded 2: $decoded");
} catch(e) {
print("Error: $e");
}
}

您的代码的问题在于您希望解码器直接解码为列表。它不会这样做;它将解码为 dynamic这恰好是 List<dynamic>其项目恰好是 Map<String, dynamic> .

参见 flutter's Json documentation有关如何在 Dart 中处理 json 的信息。

关于json - "Unexpected Character"解码 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com