FormatException:输入意外结束(在字符 1 处)

Posted

技术标签:

【中文标题】FormatException:输入意外结束(在字符 1 处)【英文标题】:FormatException: Unexpected end of input (at character 1) 【发布时间】:2019-08-17 10:24:35 【问题描述】:

我正在尝试解析来自 json 的数据,但出了点问题。 终端控制台说:

Performing hot restart...
Restarted application in 1.659ms.
I/flutter ( 9594): Load xd en
I/flutter ( 9594): Exception: FormatException: Unexpected end of input (at character 1)
I/flutter ( 9594):
I/flutter ( 9594): ^
I/flutter ( 9594): /0
I/flutter ( 9594): error: 0

我的 json 可以在这里找到:link

但是在link,当我尝试解析来自 json 的数据时,它可以工作,并且两个 json 看起来都一样。 (在这个我无法访问 php 文件)

我像往常一样做了json打印,像这样:

$myJson = ['op'=>true,'msg'=>'','data'=>['pages'=>3538,'page'=>(int)$stranica,'news'=>$api]];
        print_r(json_encode($myJson));

这有什么技巧/窍门吗?我错过了什么吗?

【问题讨论】:

【参考方案1】:

自昨天以来一直在努力解决同样的错误... POST req 被触发有什么奇怪的,但还是抛出了异常..

在我的情况下,问题是临时函数之一返回响应

//      Response registerResponse = await dio.post(Strings.USER_REGISTER_URL, data: requestBody, options: new Options(contentType: ContentType("application", "json")));


//      print(TAG + registerResponse.toString());
//      print(TAG + registerResponse.data.toString());
//      Map<String, dynamic> parsedregisterResponse = jsonDecode(registerResponse.data);
//      print(TAG + "response: " + parsedregisterResponse.toString());

用于监控输出 - 今晚会找出哪一个(可能是地图)并让你知道。同时重新检查您的响应类型和解码 - 一定有问题,就像我的情况一样。

【讨论】:

有什么问题?我被这个困住了。

以上是关于FormatException:输入意外结束(在字符 1 处)的主要内容,如果未能解决你的问题,请参考以下文章

未处理的异常:FormatException:输入意外结束(在字符 1 处)

Flutter FormatException:意外字符(在字符 1 处)

即使在默认的默认 Flutter Web 项目中也出现错误“FormatException:意外字符(在字符 1)”

颤振格式异常:意外字符(在字符 1 处)

Convert.ToDecimal 引发的意外异常

格式异常(格式异常:意外字符(在字符 1)json