【问题标题】:how to update json data using flutter如何使用颤振更新 json 数据
【发布时间】:2019-06-23 23:10:00
【问题描述】:

如何更新 JSON 值。我正在使用带有 REST API 的颤振来更改数据,但我正在努力如何刷新我的 JSON 数据对不起朋友,我对颤振不太了解,所以请帮助我,请在下面找到 JSON 的对象:

{
id: 1,
clef: "Y8F5eEo0",
IndiceSensibilite: "0.04",
Objectif: "1.00"
}

我想使用文本字段更新 IndiceSensibilite 的值。 我在这里进行更多说明。 如果有人愿意帮助我,我将非常感激。

【问题讨论】:

    标签: json flutter


    【解决方案1】:

    您可以将 JSON 转换为 Object,进行修改并返回 JSON:

    import 'dart:convert'; // make sure you imported this library
    
    
    String jsonValue = '{"id": 1, "clef": "Y8F5eEo0", "indiceSensibilite": "0.04", "objectif": "1.00" }'; // original JSON
    

    使用 Future 将其转换为 Object:

    Future<ToObject> jsonToObject() async {
        var parse = json.decode(jsonValue);
        return ToObject.parseJson(parse);
    }
    

    您的对象(在我的例子中是 ToObject)将具有以下模型和方法:

    class ToObject {
      int id;
      String clef;
      String indiceSensibilite;
      String objectif;
    
      ToObject({this.id, this.clef, this.indiceSensibilite, this.objectif});
    
      factory ToObject.parseJson(Map<String, dynamic> json) => ToObject(
          id: json['id'], clef: json['clef'], indiceSensibilite: json['indiceSensibilite'], objectif: json['objectif']);
    
      Map<String, dynamic> toJson() =>
          {'id': id, 'clef': clef, 'indiceSensibilite': indiceSensibilite, 'objectif': objectif};
    }
    

    我使用 FutureBuilder 来获取数据、修改值并返回 JSON:

    FutureBuilder<ToObject>(
         future: jsonToObject(),
         builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                  var object = snapshot.data;
                  object.indiceSensibilite = "43.00";
                  return Text(json.encode(object.toJson()));
              } else {
                  return Text("Loading...");
              }
         },
    )
    

    您的最终结果是修改后的 JSON,可以随意使用:

    【讨论】:

    • 我的荣幸!很高兴知道这正是您所需要的。
    • 如果我有一组模型并且只想更新某些部分,它是如何工作的??
    猜你喜欢
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    相关资源
    最近更新 更多