首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未处理异常: FormatException:输入的意外结束(在字符1处)

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

Stack Overflow用户
提问于 2019-08-13 08:28:07
回答 1查看 2.2K关注 0票数 0

我正在尝试用http解析下面的地图

代码语言:javascript
运行
复制
 Map<String, dynamic> map = {
      "studentID": "${widget.userId}".toString(),
      "gstNumber": "${widget.feesBloc?.gstNumberValue}" ?? "",
      "entityName": "${widget.feesBloc?.gstEntityValue}" ?? "",
      "paymentInfo": {
        "amount": "$tempAmount".toString(),
        "razorpay_payment_id": "$razorPaymentId" ?? "",
        "usedWB": "$_walletAmount"
      },
      "feeInfo": {
        "feeID": "${widget.feesData.feeID}".toString(),
        "type": "${widget.feesData.type}",
        "category": "${widget.feesData.category}".toString(),
        "feeCode": "${widget.feesData.feeCode}".toString(),
        "feeShortName": "${widget.feesData.feeShortName}" ?? "",
        "basicAMT": "${widget.feesData.basicAMT}".toString(),
        "dueDate": "${widget.feesData.dueDate}".toString(),
        "grandAMT": "${widget.feesData.grandAMT}",
        "status": "${widget.feesData.status}".toString(),
        "collectionID": "${widget.feesData.collectionID}".toString(),
        "dateStatus": "${widget.feesData.dateStatus}".toString(),
        "collectionDetailStatus": "-1",
        "schemeInfo": {
          "schemeID": "1",
          "schemeNo": "${widget.feesData.schemeInfo.schemeNo}",
          "schemeTxt": "a" ?? "",
          "schemeStatus": "${widget.feesData.schemeInfo.schemeStatus}"
        },
        "lateFeeInfo": {
          "lateDays": "${widget.feesData.lateFeeInfo.lateDays}",
          "lateFeePerDay":
              "${widget.feesData.lateFeeInfo.lateFeePerDay}".toString(),
          "lateFeeAMT": "${widget.feesData.lateFeeInfo.lateFeeAMT}"
        },
        "taxInfo": {
          "tax": "${widget.feesData.taxInfo.tax}".toString(),
          "taxAMT": "${widget.feesData.taxInfo.taxAMT}".toString(),
          "taxAddedAMT": "${widget.feesData.taxInfo.taxAddedAMT}"
        },
        "scholarshipInfo": {
          "scholarship":
              "${widget.feesData.scholarshipInfo.scholarship}".toString(),
          "scholarshipAMT": "${widget.feesData.scholarshipInfo.scholarshipAMT}"
        }
      }

下面是我的api代码

代码语言:javascript
运行
复制
Map<String, String> headers = {
      'Content-type': 'application/json',
      'Accept': 'application/json',
    };

    final response = await http.post(FEE_PAYMENT_URL,
        headers: headers, body: json.encode(jsonMap));

我得到的状态代码为200,但是response.body没有任何返回,所以解码失败。

以下是完全错误

代码语言:javascript
运行
复制
Unhandled Exception: FormatException: Unexpected end of input (at character 1)
E/flutter ( 8915): 
E/flutter ( 8915): ^
E/flutter ( 8915): 
E/flutter ( 8915): #0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1392:5)
E/flutter ( 8915): #1      _ChunkedJsonParser.close (dart:convert-patch/convert_patch.dart:510:7)
E/flutter ( 8915): #2      _parseJson (dart:convert-patch/convert_patch.dart:30:10)
E/flutter ( 8915): #3      JsonDecoder.convert (dart:convert/json.dart:493:36)
E/flutter ( 8915): #4      JsonCodec.decode (dart:convert/json.dart:151:41)
E/flutter ( 8915): #5      FeePaymentApiProvider.submitFeePayment (package:dice/resources/fee_payment/fee_payment_api_provider.dart:22:42)
E/flutter ( 8915): <asynchronous suspension>
E/flutter ( 8915): #6      FeePaymentRepository.submitFeePayment (package:dice/resources/fee_payment/fee_payment_repository.dart:14:48)
E/flutter ( 8915): <asynchronous suspension>
E/flutter ( 8915): #7      FeesBloc.submitFeePayment (package:dice/bloc/fees_bloc/fees_bloc.dart:54:40)
E/flutter ( 8915): <asynchronous suspension>
E/flutter ( 8915): #8      _PresentFeesListItemState._submitDataToServerAfterPaymentIsSuccessful (package:dice/screens/fees/present_fees/present_fees_list_item.dart:517:21)
E/flutter ( 8915): #9      _PresentFeesListItemState.calculateFees (package:dice/screens/fees/present_fees/present_fees_list_item.dart:202:9)
E/flutter ( 8915): #10     _PresentFeesListItemState.build.<anonymous closure>.<anonymous closure> (package:dice/screens/fees/present_fees/present_fees_list_item.dart:165:21)
E/flutter ( 8915): #11     _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 8915): #12     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 8915): #13     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 8915): #14     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 8915): #15     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 8915): #16     Future._complete (dart:async/future_impl.dart:473:7)
E/flutter ( 8915): #17     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
E/flutter ( 8915): #18     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:28:18)
E/flutter ( 8915): #19     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:294:13)
E/flutter ( 8915): #20     checkInternetConnection (package:dice/helpers/check_internet_connection.dart)
E/flutter ( 8915): <asynchronous suspension>
E/flutter ( 8915): #21     _PresentFeesListItemState.build.<anonymous closure> (package:dice/screens/fees/present_fees/present_fees_list_item.dart:163:17)
E/flutter ( 8915): #22     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter ( 8915): #23     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter ( 8915): #24     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 8915): #25     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter ( 8915): #26     TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7)
E/flutter ( 8915): #27     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 8915): #28     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 8915): #29     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 8915): #30     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 8915): #31     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 8915): #32     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 8915): #33     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter ( 8915): #34     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 8915): #35     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter ( 8915): #36     _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter ( 8915): #37     _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
E/flutter ( 8915): 

任何帮助都将不胜感激。我在堆里问了几个问题,但都没有用。我正在通过复杂的地图结构正确的方式到我的api在飞镖,api工作良好的邮递员。

EN

回答 1

Stack Overflow用户

发布于 2021-12-23 04:19:43

错误应该指出正在尝试解析FormatException: Unexpected end of input (at character 1)的意外格式。从您共享的日志中,它似乎突出显示了一个空值。您解析的json很可能是空的。您可以在解析之前添加一个检查器,以避免此问题。

代码语言:javascript
运行
复制
if(response.body.isNotEmpty){
  // Do something
  json.decode(response.body);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57473904

复制
相关文章

相似问题

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