我是靠谱客的博主 醉熏音响,最近开发中收集的这篇文章主要介绍oracle游标转json字符串函数,VFP轻松把JSON转换为缓冲表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

开发环境:VFP SP2 7423

祺佑三层开发框架

框架中有个QiyuJsonReady的类,利用它可以轻松把JSON转换为表。使用非常简单。

*-- 将JSON串转换为临时表的JSON类

*-- 支持JSON对象,JSON数组转换

*-- 支持多层路径 比如:对象对象数组

*-- 缓冲表模式(0 自动 1 新增 2 编辑 3 删除)

*-- 可与DAL_CA类完美配合

*-- 返回值:-1 出错,>=0 转化的记录数

1 JSON对象

TEXT TOcResultNOSHOW

{"id":1,"name":"ff1111","age":1}

ENDTEXT

oReader=Newobject("QiyuJsonReader","QiyuJsonReader.prg")

TEXT TOoReader.cursorstructNOSHOW TEXTMERGE

idi,namec(50),age numeric(4)

ENDTEXT

oReader.Alias="test" &&生成的临时表名

oReader.keylist="id"&&主键

*--第二个参数:缓冲表识别模式(0自动 1新增 2编辑3删除)

*--第三个参数:如果键值是数组是否转换成JSON字符串

*--返回值:转换的记录行数|-1(出错)

IfoReader.parsecursor(cResult,0,.F.)

?oReader.msg

Else

Browse

Endif

2 JSON数组

TEXT TOcResultNOSHOW

[{"id":1,"name":"ff","age":1},{"id":2,"name":"ff","age":1}]

ENDTEXT

oReader=Newobject("QiyuJsonReader","QiyuJsonReader.prg")

TEXT TOoReader.cursorstructNOSHOW TEXTMERGE

idi,namec(50),age numeric(4)

ENDTEXT

oReader.Alias="test"

oReader.keylist="id"

IfoReader.parsecursor(cResult,0,.F.)

?oReader.msg

Else

Browse

Endif

3对像数组一层的结构

TEXT TOcResultNOSHOW

{"rows":[{"id":1,"name":"ff","age":1}]}

ENDTEXT

oReader=Newobject("QiyuJsonReader","QiyuJsonReader.prg")

TEXT TOoReader.cursorstructNOSHOW TEXTMERGE

idi,namec(50),age numeric(4)

ENDTEXT

oReader.Alias="test"

oReader.keylist="id"

oReader.root="rows" &&需要转换表的键的位置

IfoReader.parsecursor(cResult,0,.F.)

?oReader.msg

Else

Browse

Endif

4对像对象数组 多层的结构

TEXT TOcResultNOSHOW

{"mydata":{"rows":[{"id":1,"name":"ff","age":1}]}}

ENDTEXT

oReader=Newobject("QiyuJsonReader","QiyuJsonReader.prg")&&JSONÐòÁÐÀà

TEXT TOoReader.cursorstructNOSHOW TEXTMERGE

idi,namec(50),age numeric(4)

ENDTEXT

oReader.Alias="test"

oReader.keylist="id"

oReader.root="mydatarows" &&层级用来表示

IfoReader.parsecursor(cResult,0,.F.)

?oReader.msg

Else

Browse

Endif

5值为数据或对象的结构

TEXT TOcResultNOSHOW

{"mydata":{"name":"test"},"rows":[{"id":1,"name":"ff","age":1}]},}

ENDTEXT

oReader=Newobject("QiyuJsonReader","QiyuJsonReader.prg")TEXT TOoReader.cursorstructNOSHOW TEXTMERGE

mydata C(20),rowsc(240)

ENDTEXT

oReader.Alias="test"

*--第三个参数表单转换JSON对象或数组为JSON字符串

IfoReader.parsecursor(cResult,0,.T.)

?oReader.msg

Else

Browse

Endif

缓冲表识别规则:

当设为0自动时:无主键或主键值等于(NULLOR空串)识别为新增

有主键值,识别为修改

有名为qystatus的键,值为del,识别为删除

设为1新增模式:无论有无主键,都识别为新增

设为2修改模式:有主键,都识别为修改

设为3删除模式:有主键,都识别为删除

另外这个类可以与祺佑三层开发框架的DAL_CA类完美配合,实现一键保存到SQL SERVER,以后再介绍。

最后

以上就是醉熏音响为你收集整理的oracle游标转json字符串函数,VFP轻松把JSON转换为缓冲表的全部内容,希望文章能够帮你解决oracle游标转json字符串函数,VFP轻松把JSON转换为缓冲表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部