[英]Parsing JSON to MySQL with PHP
我有一些我想在MySQL上录制的JSON文件,我在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表。 没有我可以阅读的“道具”部分,使用json_decode()
并循环遍历数组来存储其他所有值,但“道具”部分让我感到困惑。
我的桌子应该有字段,对吧?
如何将它存储在MySQL的表中?
一般;
mysqli_query($con,"INSERT INTO my_jsonDB (hoursPlayed, communityVisibilityState, timeCreated)
VALUES (21775, 3,1261107470)");
在我的情况下怎么样?
是时候看看MySQL中的外键约束了 。 基本上你的表结构如下所示:
UserID | hoursPlayed | communityVisibilityState | timeCreated
UserID | hoursPlayed | communityVisibilityState | timeCreated
userKey | level | quality | origin
userKey | level | quality | origin
userKey | level | quality | origin
。 由于您使用的是MySQL,因此可以查看主键UserID
自动增量 。 您将使用此主键在UserProperty
表中作为外键插入。
整个过程看起来像这样:
你的道具应该在他们自己的表中,并有一个外键引用回my_jsonDB。
例如,您应该有一个名为Props的表。
列将是id,my_jsonDB_id,级别,质量,原点。
第一行可能是:1,1,5,6,0,0
然后,当您插入Props表时,只需将my_jsonDB_id设置为my_jsonDB表中prop数据所涉及的id。
看一下这个例子: http : //www.w3schools.com/sql/sql_foreignkey.asp
例如,您也可以使用Text
字段。 并在将它保存到数据库之前使用serialize()
函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.