如何在Peoplesoft使用Json呢?

来源:互联网 发布:01底层数据读取错误率 编辑:程序博客网 时间:2024/05/16 01:36

     在负责接口这一块的工作也有很长时间了,实时的,非实时的,主动,非主动的都做了不少,由于其它java系统对json的大量使用,第三方系统对peoplesoft系统提出了接口返回数据需要满足json格式的要求,在查询了大量的资料以及案例后,也来做一个相应的总结。如下代码是摘抄自其他论坛,方便以后使用。

Function IScript_GetJSON   Local SQL &usersCursor = CreateSQL("SELECT OPRID, OPRDEFNDESC, EMAILID FROM PSOPRDEFN WHERE ROWNUM < 6");   Local SQL &rolesCursor;   Local string &oprid;   Local string &oprdefndesc;   Local string &emailid;   Local string &rolename;      Local boolean &isFirstUser = True;   Local boolean &isFirstRole = True;      %Response.Write("[");   While &usersCursor.Fetch(&oprid, &oprdefndesc, &emailid)      REM ** comma logic;      If (&isFirstUser) Then         &isFirstUser = False;      Else         %Response.Write(", ");      End-If;      %Response.Write("{""OPRID"": """ | EscapeJavascriptString(&oprid) | """, ""OPRDEFNDESC"": """ | EscapeJavascriptString(&oprdefndesc) | """, ""EMAILID"": """ | EscapeJavascriptString(&emailid) | """, ""ROLES"": [");      &rolesCursor = CreateSQL("SELECT ROLENAME FROM PSROLEUSER WHERE ROLEUSER = :1 AND ROWNUM < 6", &oprid);      &isFirstRole = True;            While &rolesCursor.Fetch(&rolename);         REM ** comma logic;         If (&isFirstRole) Then            &isFirstRole = False;         Else            %Response.Write(", ");         End-If;         %Response.Write("""" | EscapeJavascriptString(&rolename) | """");      End-While;            &rolesCursor.Close();      %Response.Write("]}");   End-While;      %Response.Write("]");   &usersCursor.Close();   End-Function;

返回结果示例

[    {        "OPRID": "ADRIESSEN",        "OPRDEFNDESC": "Anton Driessen",        "EMAILID": "ADRIESSEN@server.com",        "ROLES": [            "All Processes",            "All Query Access Groups",            "EPM Scorecard Viewer",            "Portal User",            "Query Access - All FSCM"        ]    },    {        "OPRID": "ADUPOND",        "OPRDEFNDESC": "Alain Dupond",        "EMAILID": "ADUPOND@server.com",        "ROLES": [            "All Processes",            "All Query Access Groups",            "EPM Scorecard Viewer",            "Portal User",            "Query Access - All FSCM"        ]    },    {        "OPRID": "AEGLI",        "OPRDEFNDESC": "Anna Egli",        "EMAILID": "AEGLI@server.com",        "ROLES": [            "All Processes",            "All Query Access Groups",            "EPM Scorecard Viewer",            "Employee Global Payroll",            "Portal User"        ]    },    {        "OPRID": "AERICKSON",        "OPRDEFNDESC": "Arthur Erickson",        "EMAILID": "AERICKSON@server.com",        "ROLES": [            "Accounts Payable Manager",            "All Processes",            "All Query Access Groups",            "Application Homepages",            "EP General Options"        ]    },    {        "OPRID": "AFAIRCHILD",        "OPRDEFNDESC": "Alison Fairchild",        "EMAILID": "AFAIRCHILD@server.com",        "ROLES": [            "Applicant",            "All Processes",            "All Query Access Groups",            "EPM Scorecard Viewer",            "Employee ELM"        ]    }]


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贴膜时候的气泡怎么办 贴手机膜起泡了怎么办 手机膜起泡泡了怎么办 手机膜鼓起来了怎么办 贴膜中间有气泡怎么办 新车贴膜有气泡怎么办 贴手机膜进灰尘怎么办 贴手机膜有灰尘怎么办 华为mate10后机壳碎了怎么办 手机屏和壳分开了怎么办 oppoa33手机开不了机怎么办 7p背面刮花了怎么办 oppo手机左右两键失灵怎么办 苹果5s屏幕翘起怎么办 0pp0手机有点卡怎么办 手机用久有点卡怎么办 手机有点卡怎么办魅蓝 苹果6排线接反了怎么办 oppo手机解锁密码忘了怎么办 魅蓝5音量小怎么办 魅蓝5密码忘记了怎么办 魅蓝note3锁定了怎么办 魅族mx5系统铃声没有了怎么办 魅族主板坏了怎么办 魅族mx5螺丝滑丝怎么办 魅族魅蓝e手机被锁了怎么办 魅蓝e被锁机了怎么办 魅蓝3s卡顿怎么办 魅族note5玩王者荣耀卡怎么办 魅族手机内存不够怎么办 魅族手机音量小怎么办 魅族mx5指纹解锁失灵怎么办 魅族手机费电快怎么办 魅族mx4pro玩王者荣耀卡怎么办 魅蓝5s玩游戏卡怎么办 魅蓝s6玩游戏卡怎么办 OPPO王者荣耀对局闪退怎么办 魅族手机太慢怎么办 魅蓝5信号不好怎么办 魅蓝数据网速慢怎么办 魅族联通网速慢怎么办