1
我想生成一個代表父級子級別的JSON。我想盡量減少服務器端的循環以獲得低於預期的JSON結構。是否有可能從一個sql語句獲取數據,我可以在服務器端使用(使用最小循環)來生成此JSON。 我必須支持Oracle,DB2,SYBASE,SQL服務器等 下面是我的表結構和相應的樣本數據爲父子行生成JSON。父級子級深度是動態的
CREATE TABLE TABLEA
(
SCEID VARCHAR(10),
Group_Step VARCHAR(100)
);
CREATE TABLE TABLEB
(
SCEID VARCHAR(10),
Group_Step VARCHAR(100),
Parent_step VARCHAR(100)
);
--- FOR TABLEA--WHICH stores all the group_step
insert into TABLEA values('0000000001','ALLOC1');
insert into TABLEA values('0000000001','ASDF');
insert into TABLEA values('0000000001','BENEFITS');
insert into TABLEA values('0000000001','COPY_BUDG');
insert into TABLEA values('0000000001','CRRNT_PER');
insert into TABLEA values('0000000001','GL_TO_PC');
insert into TABLEA values('0000000001','OVERHEAD');
insert into TABLEA values('0000000001','PC_TO_PC');
--for child(group_step) and parent.. THIS table will have data for the rows having parent child.
insert into TABLEB values('0000000001','BENEFITS','ASDF');
insert into TABLEB values('0000000001','COPY_BUDG','BENEFITS');
insert into TABLEB values('0000000001','GL_TO_PC','COPY_BUDG');
insert into TABLEB values('0000000001','OVERHEAD','CRRNT_PER');
insert into TABLEB values('0000000001','OVERHEAD','GL_TO_PC');
和我預期的JSON格式低於和想達到以下格式在最短的循環
{
"d": {
"total": 0,
"page": 0,
"records": 0,
"rows": [
{
"id": "1",
"Exclude": "0",
"Groupstep": "PC_TO_PC",
"Version": "0",
"Columnnum": "1",
"Child": [
{}
]
},
{
"id": "2",
"Exclude": "0",
"Groupstep": "OVERHEAD",
"Version": "0",
"Columnnum": "1",
"Child": [
{}
]
},
{
"id": "3",
"Exclude": "0",
"Groupstep": "BENEFITS",
"Version": "1",
"Columnnum": "1",
"Child": [
{
"id": "301",
"Groupstep": "ALLOC1",
"Version": "0",
"Columnnum": "2",
"child": [
{
"id": "3011",
"Groupstep": "ALLOC2",
"Version": "0",
"Columnnum": "3"
}
]
},
{
"id": "302",
"Groupstep": "PC_WIP",
"Version": "0",
"Columnnum": "2"
}
]
},
{
"id": "4",
"Exclude": "0",
"Groupstep": "FRA_LOC_IU",
"Version": "0",
"Columnnum": "1",
"Child": [
{}
]
},
{
"id": "5",
"Exclude": "0",
"Groupstep": "NEXT_YEAR",
"Version": "0",
"Columnnum": "2",
"Child": [
{
"id": "501",
"Groupstep": "FRA_LOC_IU",
"Version": "0",
"Columnnum": "3"
},
{
"id": "502",
"Groupstep": "FRA_LOC_IU1",
"Version": "0",
"Columnnum": "3"
}
]
},
{
"id": "6",
"Exclude": "0",
"Groupstep": "CRRNT_PER",
"Version": "0",
"Columnnum": "2",
"Child": [
{
"id": "601",
"Groupstep": "ACT_BD_ACT",
"Version": "0",
"Columnnum": "3"
},
{
"id": "602",
"Groupstep": "CRRNT_PER",
"Version": "0",
"Columnnum": "3"
}
]
}
]
}
}
您使用的是什麼應用程序服務器? – invertedSpear 2013-05-03 22:07:25
peopletools。它是一個人性化的專有工具。 – JDev 2013-05-04 03:21:17