主表的 res 文本字段包含以下结构:
которую получаю запросом: SELECT res FROM main WHERE id = 5;
{
"abc": {
"a": {
"x": {"p": "val"},
"y": {"p": "msg", "b": 33, "ms": 0},
"z": {"p": "msg ", "b": 12, "ms": 0}
},
"b": ["x", "y", "z"],
"c": [
[69, "text_05", "m n o"],
[4, " text_02", "def"],
[1, "text_01", "abc "],
[48, " text_04 ", "jkl"],
[5, " text_03 ", " ghi"],
[82, "text_06 ", " pq r "]
]
},
"xyz": {
"z": [
[11, "aaa"],
[33, "bbb"]
]
}
}
如何构建将返回数字 2 的查询, - 数量:“abc”和“xyz”。
在js中我这样做了:
var s = {
"abc": {
"a": {
"x": {"p": "val"},
"y": {"p": "msg", "b": 33, "ms": 0},
"z": {"p": "msg ", "b": 12, "ms": 0}
},
"b": ["x", "y", "z"],
"c": [
[69, "text_05", "m n o"],
[4, " text_02", "def"],
[1, "text_01", "abc "],
[48, " text_04 ", "jkl"],
[5, " text_03 ", " ghi"],
[82, "text_06 ", " pq r "]
]
},
"xyz": {
"z": [
[11, "aaa"],
[33, "bbb"]
]
}
};
var c = Object.keys(s).length;
alert(c); // 2
在 postgresql 上失败。
我们从 json 对象中获取密钥并计算它们的数量: