你好我有这样的json,现在我想把这个json保存到sqlite android,但是 我混淆了如何为这个json创建一个表,json结果是字符串/文本类型但是我们知道在create table sqlite中我们需要将类型为integer的数据作为主键。
我想使用UserId作为主键,但这是类型text / string。
我的问题是,我可以使用字符串/文本作为主键创建表吗? 如果你有另一种方法将这个json保存到sqlite,请告诉我如何做到这一点。提前谢谢......
[
{
"UserId": "3c652fc4-5dc4-4fa5-8c07-d27b0b657823",
"Nationality": "ID",
"Image": null,
"IsAlreadyOnTextoaser": true,
"IsAlreadyOnRequest": false,
"LastActive": null,
"LastActiveResume": "0 Days Ago",
"FirstName": "dwi",
"LastName": "wahyudi"
},
{
"UserId": "cbb1f8bd-8016-4bc6-abd1-701fb353293d",
"Nationality": "ID",
"Image": null,
"IsAlreadyOnTextoaser": true,
"IsAlreadyOnRequest": false,
"LastActive": null,
"LastActiveResume": "0 Days Ago",
"FirstName": "Wildan",
"LastName": "Rachman"
}
]
答案 0 :(得分:2)
Android框架的许多部分都希望您的数据具有一个名为_id
的唯一整数列。
(获得这样一个列的最简单方法是使其成为自动增量主键,但是如果您的数据已经有这样的列,或者如果可以从其他值轻松计算出唯一值,那么您就不会这样做。 ;需要一个明确的。)
虽然PRIMARY KEY约束记录了哪一列标识了行,但实际的技术效果与NOT NULL和UNIQUE相同。因此,您可以在表格中拥有多个候选键:
CREATE TABLE MyTable (
_id INTEGER PRIMARY KEY, -- autoincrementing, for Android
UserId TEXT NOT NULL UNIQUE, -- actual PK
FirstName TEXT,
[...]
);