我有同时具有嵌套对象和属性的json数据。例如一个json对象:
(在将json_decode转换为数组之后:)
Array
(
[attributename1] => attributevalue1
[attributename2] => attributevalue2
[NestedEntity1] => Array (
[0] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[1] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[2] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
[NestedEntity1.2] => Array (
[0] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[1] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
)
)
) )
注意:实体可以进一步嵌套在嵌套实体中
我的问题是:如何将这些数据存储到MySQL中?
如果只是属性,那么在MySQL中为EAV数据设置一个表就很容易。但是,如果我有嵌套的对象,那么我对如何存储它完全迷失了。重要的是,我必须能够旋转表并进行查询,例如“ SELECT * FROM实体,如B等。
我怀疑我可能不得不将嵌套实体拆分成它们自己的新表,然后在“父”和“子”之间建立一对多的关系。然而: (1)我不知道这样做,以便可以容纳任何json数据。这可能意味着某些程序必须自动检测嵌套对象。 (2)尽管我愿意将单个json对象的数据填充到多个表中,每个表代表一个(嵌套的)实体,但是我在考虑是否有可能将所有内容填充到MySQL中的单个表中。这样可以避免在需要时创建新的表架构。
如果需要编程,请在可能的情况下建议使用PHP。