如何在共享首选项中将对象保存在json数组中?

时间:2020-09-27 11:44:07

标签: flutter dart

我正在从服务器获取详细信息,但是我只需要知道如何在共享首选项中将对象保存在json数组中

 "data": [
        {
            "intrest": "Acting",
            "intrestID": "40a17cc1-17cb-464d-8cc7-308d3c43332a"
        },
        {
            "intrest": "Dancing",
            "intrestID": "b139ee6e-d09a-4ccc-b9e3-5d3567bda66f"
        },
        {
            "intrest": "Singing",
            "intrestID": "cd56d6d6-7c72-4b30-a4c5-23ddbeb94346"
        }
    ]

在这里,我只需要将所有“兴趣”对象保存在共享的首选项中

1 个答案:

答案 0 :(得分:1)

var myArray = new List(jsonData.length - 1);
int i = 0;
for (var oneData in jsonData) {
  myArray[i] = oneData["intrest"];
  i++;
}

var encodedMyList = json.encode(myArray);
SharedPreferences myShPref = await SharedPreferences.getInstance();
myShPref.setString('intrests', encodedMyList );

现在,如果要访问存储的数据:

var myArray = jsonDecode(myShPref.getString('intrests'));