Json转Sql翻译

时间:2011-11-07 21:14:01

标签: php sql json

我正在寻找可以将json转换为sql的PHP库。 也就是说,基于某些定义或模式,它应该生成插入/更新语句。

有人知道这样的图书馆吗?我问了几个搜索引擎,什么都没弹出来。

示例:

JSON

{
    "person_id": 1,
    "name": "John Doe",

    "roles": ["admin","editor","regular_user"],

    "friends": 
    [
        {"person_id": 10, "name": "Johny Walker", "is_best_friend": true},
        {...} // more friends
    ]
}

表格结构:

Persons: person_id (int), name (text)
Roles: person_id (int), role (text)
Friends: person_id (int), is_best_friend (bool)

这只是一个例子。

我想到的是类似XSLT的转换。我知道这样的系统会非常复杂,但这个简单的例子可以毫无问题地翻译出来。

我正在考虑自己实施它,但我很懒,所以先问一下。

高级JSON的东西,比如引用,也可以实现,因为它非常适合关系表(可能有限制)。

2 个答案:

答案 0 :(得分:2)

SQL数据结构简单且具有严格的“硬编码”结构,但JSON可以存储对象,这些对象可以相互继承。我不认为,这样的工具存在。即使是ID,也会有很多限制。

答案 1 :(得分:0)

您真正需要搜索的是ORM

典型的编程结构与sql的工作方式有很大不同,这称为Object-relational impedance mismatch。尝试将对象或数组结构映射或转换为数据库模式并非易事,因为它需要了解有关每个值的两个数据结构和规则集。