我有传入的json结构,如

{
    "type":1,
    "location":[
        {"lattitude":"0", "longitude":"0"},
        {"lattitude":"0", "longitude":"0"},
        {"lattitude":"0", "longitude":"0"}]
}

我需要把它插入一个数据库
|------|-----------|-----------|
| type | lattitude | longitude |
|------|-----------|-----------|
| 1    | 0         | 0         |
|------|-----------|-----------|
| 1    | 0         | 0         |
|------|-----------|-----------|
| 1    | 0         | 0         |
|------|-----------|-----------|

如何解析json并构建sql查询?

最佳答案

如果你想使用Postgres解决方案,你可以

--INSERT INTO yourtab( type,lattitude,longitude)

select jsoncol->>'type' , j->>'lattitude'
             j->>'longitude'
 from
 ( values (:yourjsonstr :: jsonb ) ) as t(jsoncol) cross join
          lateral jsonb_array_elements(jsoncol->'location')
                                   as j;

DEMO

09-17 15:28