カスタムスタックオブジェクトをjsonにフラッター変換

M123

そのため、比較的複雑なオブジェクト構造があり、SQFLiteに保存したいと思います。しかし、このオブジェクトには他のオブジェクトのリストがあるので、サブオブジェクトのリストをjsonに変換して、これをテキストとして保存すると思いました。

このような:

    "name": "String",
     "Body": {
           "Object1": [
                        {
                        "index": int,
                        }
                     ],

           "Object2": [
                       {
                       "index":2,
                       }
                     ]
             }
    

ボタンを押すと、新しいオブジェクトが作成され、データベースに追加されます。(rawInsert)

しかし、この問題が発生します。

Unhandled Exception: DatabaseException(java.lang.String cannot be cast to java.lang.Integer) 

私が理解している限り、これは文字列をintに変換するときにエラーが発生したことを意味します。

完全なエラーコード

E/flutter (20088): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: DatabaseException(java.lang.String cannot be cast to java.lang.Integer) sql 'INSERT Into workoutPlan (name,id,workoutDays,pastId,timesDone,workoutBody) VALUES (?,?,?,?,?,?)' args [nummero uno, 2, [Monday, Friday], 345, 45, {Pause: [{timeInMilSec: 900, index: 5}], exercise: [{goal: 2, weightGoal: [15, 15, 15], name: PushUp, timeGoal: 900, index: 1, repGoal: 3, setGoal: [infinity, 15, 3]}]}]}

私のモデルクラス:

import 'dart:convert';

PlanModel planModelFromJson(String str) => PlanModel.fromJson(json.decode(str));

String planModelToJson(PlanModel data) => json.encode(data.toJson());

class PlanModel {
  PlanModel({
    this.name,
    this.id,
    this.workoutDays,
    this.pastId,
    this.timesDone,
    this.workoutBody,
  });

  String name;
  int id;
  List<String> workoutDays;
  int pastId;
  int timesDone;
  WorkoutBody workoutBody;

  factory PlanModel.fromJson(Map<String, dynamic> json) => PlanModel(
    name: json["name"],
    id: json["id"],
    workoutDays: List<String>.from(json["workoutDays"].map((x) => x)),
    pastId: json["pastId"],
    timesDone: json["timesDone"],
    workoutBody: WorkoutBody.fromJson(json["workoutBody"]),
  );

  Map<String, dynamic> toJson() => {
    "name": name,
    "id": id,
    "workoutDays": List<dynamic>.from(workoutDays.map((x) => x)),
    "pastId": pastId,
    "timesDone": timesDone,
    "workoutBody": workoutBody.toJson(),
  };
}

class WorkoutBody {
  WorkoutBody({
    this.exercise,
    this.pause,
  });

  List<Exercise> exercise;
  List<Pause> pause;

  factory WorkoutBody.fromJson(Map<String, dynamic> json) => WorkoutBody(
    exercise: List<Exercise>.from(json["exercise"].map((x) => Exercise.fromJson(x))),
    pause: List<Pause>.from(json["Pause"].map((x) => Pause.fromJson(x))),
  );

  Map<String, dynamic> toJson() => {
    "exercise": List<dynamic>.from(exercise.map((x) => x.toJson())),
    "Pause": List<dynamic>.from(pause.map((x) => x.toJson())),
  };
}

class Exercise {
  Exercise({
    this.index,
    this.name,
    this.goal,
    this.repGoal,
    this.weightGoal,
    this.timeGoal,
    this.setGoal,
  });

  int index;
  String name;
  int goal;
  int repGoal;
  List<int> weightGoal;
  int timeGoal;
  List<String> setGoal;

  factory Exercise.fromJson(Map<String, dynamic> json) => Exercise(
    index: json["index"],
    name: json["name"],
    goal: json["goal"],
    repGoal: json["repGoal"],
    weightGoal: List<int>.from(json["weightGoal"].map((x) => x)),
    timeGoal: json["timeGoal"],
    setGoal: List<String>.from(json["setGoal"].map((x) => x)),
  );

  Map<String, dynamic> toJson() => {
    "index": index,
    "name": name,
    "goal": goal,
    "repGoal": repGoal,
    "weightGoal": List<dynamic>.from(weightGoal.map((x) => x)),
    "timeGoal": timeGoal,
    "setGoal": List<dynamic>.from(setGoal.map((x) => x)),
  };
}

class Pause {
  Pause({
    this.index,
    this.timeInMilSec,
  });

  int index;
  int timeInMilSec;

  factory Pause.fromJson(Map<String, dynamic> json) => Pause(
    index: json["index"],
    timeInMilSec: json["timeInMilSec"],
  );

  Map<String, dynamic> toJson() => {
    "index": index,
    "timeInMilSec": timeInMilSec,
  };
}
M123

私は問題を見つけました:)

planModel toJson()で私は持っていました

"workoutDays": List<dynamic>.from(workoutDays.map((x) => x)),

に変更しjsonDecode(workoutDays)てもう一度読むために使用しましたjsonEncode(src)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタムクラスオブジェクトをNSDataに変換する

分類Dev

カスタムクラスオブジェクトをObject []に変換する

分類Dev

カスタムjavascriptオブジェクトをjsonに変換します

分類Dev

カスタムオブジェクトのArrayListをJSONに変換します

分類Dev

Pythonでカスタムクラスオブジェクトをタプルに変換する方法は?

分類Dev

クラスルールのオブジェクトをRのデータフレームに変換する

分類Dev

ダーツフラッターでjson文字列をjsonオブジェクトに変換する方法は?

分類Dev

ダーツフラッターでネストされたjson文字列をjsonオブジェクトに変換する方法は?

分類Dev

Typescript:JSONオブジェクトをクラス/インターフェースオブジェクトに変換します

分類Dev

PowershellでXMLドキュメントをカスタムクラスオブジェクトに変換する

分類Dev

フラッターでクイックタイプJSONオブジェクトにアクセスする

分類Dev

カスタムクラスオブジェクトをJavaのジェネリック型に渡す

分類Dev

カスタムクラスをオブジェクトに変換して戻す

分類Dev

フラッターStreambuilderマップをリストオブジェクトに

分類Dev

ネストされたjson文字列をカスタムオブジェクトに変換します

分類Dev

Angularプロジェクトにカスタムブートストラップ変数を適用する

分類Dev

カスタム FirebaseListAdapter のエラー「タイプのオブジェクトを変換できません」

分類Dev

LinkedHashMapをカスタムJavaオブジェクトに変換する方法

分類Dev

SpringでRequestHeaderをカスタムオブジェクトに変換する方法

分類Dev

カスタム形式でオブジェクトを文字列に変換する

分類Dev

オブジェクトボックスでカスタムタイプのリストを文字列に変換する

分類Dev

カスタムオブジェクトをデータに変換してNSUserDefautsに保存します

分類Dev

SQLリターンをカスタムオブジェクトに変換する方法は?

分類Dev

カスタムオブジェクトのインターフェイスクラスにパーセル可能オブジェクトを追加する

分類Dev

カスタムクリッパーベジェカーブフラッター

分類Dev

NetSuiteカスタムレコード検索結果を.NETオブジェクトのリストに変換

分類Dev

Rubyでカスタムオブジェクトライフサイクルフックを定義する

分類Dev

Swift:ObjectMapperを使用してJSON文字列をカスタムオブジェクトの配列に変換する

分類Dev

オブジェクトをタイムスタンプとしてフォーマットされた日付に変換する方法

Related 関連記事

  1. 1

    カスタムクラスオブジェクトをNSDataに変換する

  2. 2

    カスタムクラスオブジェクトをObject []に変換する

  3. 3

    カスタムjavascriptオブジェクトをjsonに変換します

  4. 4

    カスタムオブジェクトのArrayListをJSONに変換します

  5. 5

    Pythonでカスタムクラスオブジェクトをタプルに変換する方法は?

  6. 6

    クラスルールのオブジェクトをRのデータフレームに変換する

  7. 7

    ダーツフラッターでjson文字列をjsonオブジェクトに変換する方法は?

  8. 8

    ダーツフラッターでネストされたjson文字列をjsonオブジェクトに変換する方法は?

  9. 9

    Typescript:JSONオブジェクトをクラス/インターフェースオブジェクトに変換します

  10. 10

    PowershellでXMLドキュメントをカスタムクラスオブジェクトに変換する

  11. 11

    フラッターでクイックタイプJSONオブジェクトにアクセスする

  12. 12

    カスタムクラスオブジェクトをJavaのジェネリック型に渡す

  13. 13

    カスタムクラスをオブジェクトに変換して戻す

  14. 14

    フラッターStreambuilderマップをリストオブジェクトに

  15. 15

    ネストされたjson文字列をカスタムオブジェクトに変換します

  16. 16

    Angularプロジェクトにカスタムブートストラップ変数を適用する

  17. 17

    カスタム FirebaseListAdapter のエラー「タイプのオブジェクトを変換できません」

  18. 18

    LinkedHashMapをカスタムJavaオブジェクトに変換する方法

  19. 19

    SpringでRequestHeaderをカスタムオブジェクトに変換する方法

  20. 20

    カスタム形式でオブジェクトを文字列に変換する

  21. 21

    オブジェクトボックスでカスタムタイプのリストを文字列に変換する

  22. 22

    カスタムオブジェクトをデータに変換してNSUserDefautsに保存します

  23. 23

    SQLリターンをカスタムオブジェクトに変換する方法は?

  24. 24

    カスタムオブジェクトのインターフェイスクラスにパーセル可能オブジェクトを追加する

  25. 25

    カスタムクリッパーベジェカーブフラッター

  26. 26

    NetSuiteカスタムレコード検索結果を.NETオブジェクトのリストに変換

  27. 27

    Rubyでカスタムオブジェクトライフサイクルフックを定義する

  28. 28

    Swift:ObjectMapperを使用してJSON文字列をカスタムオブジェクトの配列に変換する

  29. 29

    オブジェクトをタイムスタンプとしてフォーマットされた日付に変換する方法

ホットタグ

アーカイブ