Dart JSON数组解析

Dart JSON数组解析,dart,Dart,我正在尝试解析json,但找不到正确的方法。 出现以下错误: TypeError:“JSArray”的实例:类型“JSArray”不是类型“Map”的子类型 如果有人给我指出正确的方向如何正确解析它,我将不胜感激 import 'dart:convert'; import 'dart:async'; void main() { loadQuote(); } class Quote { final List text; final String author; final Li

我正在尝试解析json,但找不到正确的方法。 出现以下错误: TypeError:“JSArray”的实例:类型“JSArray”不是类型“Map”的子类型 如果有人给我指出正确的方向如何正确解析它,我将不胜感激

import 'dart:convert';
import 'dart:async';

void main() {

loadQuote();

}

class Quote {
  final List text;
  final String author;
  final List tags;

  Quote({this.text, this.author, this.tags});

  factory Quote.fromJson(Map<String, dynamic> json) {
    return Quote(
      text: json['text'],
      author: json['author'],
      tags: json['tags'],
    );
  }
}


Future loadQuote() async {
    String jsonString = await jsonStr;
  final jsonResponse = json.decode(jsonString);
  Quote quote = Quote.fromJson(jsonResponse);
  print('Quote: ${quote.text}');
  print('Author: ${quote.author}');
}

var jsonStr = """
[
{
    "text": [
        "“Be yourself; everyone else is already taken.”"
    ],
    "author": "Oscar Wilde",
    "tags": [
        "attributed-no-source",
        "be-yourself",
        "honesty",
        "inspirational",
        "misattributed-oscar-wilde"
    ]
},
{
    "text": [
        "“So many books, so little time.”"
    ],
    "author": "Frank Zappa",
    "tags": [
        "books",
        "humor"
    ]
}
]
""";
导入'dart:convert';
导入“dart:async”;
void main(){
loadQuote();
}
课堂报价{
最后清单文本;
最终字符串作者;
最终列表标签;
引号({this.text,this.author,this.tags});
factory Quote.fromJson(映射json){
返回报价(
text:json['text'],
作者:json['author'],
标签:json['tags'],
);
}
}
Future loadQuote()异步{
字符串jsonString=等待jsonStr;
最终jsonResponse=json.decode(jsonString);
Quote=Quote.fromJson(jsonResponse);
打印('Quote:${Quote.text}');
打印('Author:${quote.Author}');
}
var jsonStr=“”
[
{
“文本”:[
“做你自己,其他人都已经被带走了。”
],
“作者”:“奥斯卡王尔德”,
“标签”:[
“没有来源”,
“做你自己”,
“诚实”,
“鼓舞人心”,
“误认奥斯卡·王尔德”
]
},
{
“文本”:[
“这么多书,这么少时间。”
],
“作者”:“Frank Zappa”,
“标签”:[
“书籍”,
“幽默”
]
}
]
""";

您有一个引号数组。因此,要解析单个引号,您必须执行以下操作:

Quote quote = Quote.fromJson(jsonResponse[0]); // parse first quote

@Kate quote text也是数组,因此在本例中,
quote.text[0]
quote.text.first