使用List Flutter 解析侧面JSON数组中的JSON数组>

问题描述 投票:0回答:1

我有这样的JSON

{
"status": "true",
"data": [
    {
        "idpekerjaan": "1",
        "namapekerjaan": "Apel Pagi / Sore",
        "subpekerjaan": [
            {
                "idsubpekerjaan": "2",
                "namasubpekerjaan": "Apel Pagi/Sore",
                "standarwaktu": "15"
            },
            {
                "idsubpekerjaan": "3",
                "namasubpekerjaan": "Apel Pagi/Sore",
                "standarwaktu": "20"
            }  
        ]
    },
    {
        "idpekerjaan": "2",
        "namapekerjaan": "Upacara",
        "subpekerjaan": [
            {
                "idsubpekerjaan": "10",
                "namasubpekerjaan": "Upacara",
                "standarwaktu": "60"
            },
            {
                "idsubpekerjaan": "11",
                "namasubpekerjaan": "Upacara",
                "standarwaktu": "90"
            }
        ]
    },
}

[Saya mempunyai fungsi-fungsi:

 class Localization {
  final List <DataPekerjaan> pekerjaan;
  final List <SubPekerjaan> subpekerjaan;

  Localization({this.pekerjaan, this.subpekerjaan});

  factory Localization.fromJson(Map<String, dynamic> json) {
    return Localization(
      subpekerjaan: parseStates(json),
      pekerjaan: parseProvinces(json),

    );
  }


  static List<SubPekerjaan> parseStates(statesJson) {

    List<DataPekerjaan> cari = parseProvinces(statesJson);
    var slist = ???????????????????? as List;
    List<SubPekerjaan> statesList =
       slist.map((data) => SubPekerjaan.fromJson(data)).toList();
    return statesList;
  }

  static List<DataPekerjaan> parseProvinces(provincesJson) {
    var plist = provincesJson['data'] as List;
    List<DataPekerjaan> provincesList =
        plist.map((data) => DataPekerjaan.fromJson(data)).toList();
    return provincesList;
  }

}

class SubPekerjaan {
  final String idSubPekerjaan;
  final String namaSubPekerjaan;
  final String standarWaktu;

  SubPekerjaan({this.idSubPekerjaan, this.namaSubPekerjaan, this.standarWaktu});

  factory SubPekerjaan.fromJson(Map<String, dynamic> parsedJson){
    return SubPekerjaan(idSubPekerjaan: parsedJson['idsubpekerjaan'], namaSubPekerjaan: parsedJson['namasubpekerjaan'], standarWaktu: parsedJson['standarwaktu']);
  }

}

class DataPekerjaan {
  final String idPekerjaan;
  final String namaPekerjaan;
  final List<String> subPekerjaan;

  DataPekerjaan({this.idPekerjaan, this.namaPekerjaan, this.subPekerjaan});

  factory DataPekerjaan.fromJson(Map<String, dynamic> parsedJson) {
    return DataPekerjaan(idPekerjaan: parsedJson['idpekerjaan'], namaPekerjaan: parsedJson['namapekerjaan'],  subPekerjaan: parsedJson["subpekerjaan"]);
  }

}

我想检索数据数组的内容,然后创建一个列表,然后我也想获取subpekerjaan数组的内容,以使其成为单独的数据。如何将每个数组插入到我已经拥有的函数中,尤其是在ListparseStates(statesJson)中。我应该填写什么问号?那么我是如何在DataPekerjaan类上声明数据类型List subPekerjaan的,这是真的吗?

我有这样的JSON {“ status”:“ true”,“ data”:[{“ idpekerjaan”:“ 1”,“ namapekerjaan”:“ Apel Pagi / Sore”,“ subpekerjaan”:[{“。 。

arrays json flutter dart dropdown
1个回答
0
投票

首先您的json无效(在https://jsonlint.com/处无效]应该是

© www.soinside.com 2019 - 2024. All rights reserved.