首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将json字符串转换为json对象时出错

将json字符串转换为json对象时出错
EN

Stack Overflow用户
提问于 2021-03-28 20:04:57
回答 1查看 52关注 0票数 1

我正在使用Completer侦听onstatechanged,一切正常,我得到了一个json响应,但我真正想做的是通过调用MediaData.fromJson(data)使用模型类将json字符串更改为json对象。但我总是会遇到错误...

以下是我到目前为止尝试过的方法

代码语言:javascript
运行
复制
class mainController{
  Future<MediaData> getdata() async{
    final completer = Completer<MediaData>();

    final flutterWebViewPlugin = FlutterWebviewPlugin();

    flutterWebViewPlugin.launch('https://www.instagram.com/picsart/?__a=1', hidden: true, userAgent: kAndroidUserAgent,);


    flutterWebViewPlugin.onStateChanged.listen((viewState) async {
      if (viewState.type == WebViewState.finishLoad) {
        final data = await flutterWebViewPlugin.evalJavascript("document.documentElement.outerText");

       
        completer.complete(MediaData.fromJson(json.decode(data)));


        flutterWebViewPlugin.close();
      }
    });

    return completer.future;
  }
}

错误-

代码语言:javascript
运行
复制
 [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: type 'String' is not a subtype of type 'Map<String, dynamic>'
E/flutter (20186): #0      mainController.getdata.<anonymous closure> (package:igsavers/controller/mainController.dart:20:52)
E/flutter (20186): <asynchronous suspension>
E/flutter (20186): 

我发布了编译器中错误的图片,我得到了- Error Image

--这是我的模型MediaData原始码...

EN

回答 1

Stack Overflow用户

发布于 2021-03-28 20:26:52

错误似乎在第20行

尝试使用MediaData.fromJson(data)而不是MediaData.fromJson(json.decode(data))

json.decode必须接收String,但数据当前为Map<String, dynamic>。那么,这个函数的使用就没有必要了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66841233

复制
相关文章

相似问题

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