我有一些 JSON 文件要记录在 MySQL 上,我通读了 SO 中的一些帮助主题,但我遇到了问题。 1 2 3
我的 JSON 看起来像这样;
{
"hoursPlayed": 21775,
"communityVisibilityState": 3,
"timeCreated": 1261107470,
"props": [
{
"level": 53,
"quality": 6,
"origin": 0,
},
{
"level": 10,
"quality": 6,
"origin": 0,
}
]
}
我已经创建了表及其字段,但是当涉及到 JSON 的最后一个条目中的“props”数组时,我不知道该怎么做。它本身就是一个数组,它应该有自己的 MySQL 表。如果没有我可以阅读的“ Prop ”部分,请使用 json_decode()
并循环遍历数组以存储所有其他值,但“ Prop ”部分让我感到困惑。
我的表应该有字段吧?
- 已玩小时数 * INT
- communityVisibilityState * INT
- 创建时间 * INT
- Prop * ??
如何将其存储在 MySQL 的表中?
通常;
mysqli_query($con,"INSERT INTO my_jsonDB (hoursPlayed, communityVisibilityState, timeCreated)
VALUES (21775, 3,1261107470)");
我的情况呢?
最佳答案
是时候看看 foreign key constraints in MySQL 了.基本上您的表结构如下所示:
- 表#1 用户 -
用户 ID |播放时间 |社区可见性状态 |创建时间
- 表#2 UserProperty -
userKey |水平 |质量 |来源
.
因为你使用的是MySQL,你可以查看autoincrement对于主键 UserID
。您将使用此主键作为外键插入 UserProperty
表中。
整个过程是这样的:
- 在第一个表格中插入一行。获取插入的主键(即第一列)。
- 遍历所有“props”字段:
- 接下来,使用您在上述步骤中获得的 key ,并在将当前“prop”插入第二个表中时使用它。
关于php - 使用 PHP 将 JSON 解析为 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474125/