【发布时间】:2015-08-25 23:57:55
【问题描述】:
Json 格式为
{
"query": {
"pages": {
"294195": {
"id": 294195,
"title": "title 123",
"detail": "detail content..."
}
}
}
}
我想阅读294195,以及此元素下的详细信息。
但实际上元素名称“294195”是动态的。
我不能使用294195 作为元素名称:
"Json"->'query'->'pages'->'294195'
有没有类似的
"Json"->'query'->'pages'->Firt_Element_Name->'id'
注意:"Json" 是列名,类型为 Json。
【问题讨论】:
-
您可能必须在横向查询中使用
json_each和row_number解压缩json 对象,然后选择第一行。尴尬的。或者在子查询中使用json_object_keys来获取第一个键。你真正想要的是一个合适的 json 查询表达式系统,比如 json 的 xpath。一些人正在为 PostgreSQL 开发一个,但它还没有被包括在内。 -
另外,请注意真正的 json 对象没有逻辑顺序。您不能依赖“第一”的关键。你真的想要第一个出现在对象中的那个吗?还是数值最低的那个?
标签: sql json postgresql