当前位置:首页 > 技能相关 > C#与C++ > 正文内容

公共类库:LIFEPCL 《个人自研》功能迭代中

admin2年前 (2023-06-18)C#与C++5160 修订时间:2023-06-21 07:19:16

基本信息

2345截图20230618182837.jpg

公共类库名称:LIFEPCL

内核版本:.NET Framework 4.6.1 

编程语言:C#

版本迭代

V1.0.0.1 版本,包含功能JSON串的生成与读取;

LIFEPCL V1.0.0.1.zip

LIFEPCL v1.0.0.2.zip
V1.0.0.1
DXObject.ReaplaceChar(lf_str,char)  
V1.0.0.2
DXObject.ReaplaceChar(lf_str,oldchar,newchr)
DXObject.ReaplaceChar(lf_str,oldstr,newstr) 

LIFEPCL V1.0.0.3.zip
DXObject.GetItemArrayVal(ls_str_item,ls_str_item_next)
DXObject.GetItemArraysVal(ls_str_item,ls_str_item_next,ls_str_item_no)
DXObject.GetItemVal(ls_str_item)

使用前置条件

1、使用前需要在系统中注册,本DLL为COM类型;

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319
regasm E:\PB9soft\class2DLLLink\LIFEPCL.dll  /tlb: E:\PB9soft\class2DLLLink\LIFEPCL.tlb

2、PB中通过创建OBJECT对象来使用LIFEPCL;

//创建OLEObject对象实例
OLEObject DXObject
DXObject = Create OLEObject
//绑定DLL命名空间指定类
DXObject.ConnectToNewObject("LIFEPCL.AddOrReadJSON")
//释放OLEObject对象实例
DXObject.DisConnectObject()

具体功能清单

1、JSONJSON串的生成与读取

1.1 JSON串生成

//设置一级节点,值类型字符串
DXObject.SetItem("sex","男","string")
//设置一级节点,值类型数值类型均可
DXObject.SetItem("age","35","int")

//设置一组JSON节点
DXObject.SetItemArry("体重","100KG","string")
/功能与SetItem一致,但格式不同
DXObject.SetItemArry("身高","182CM","string")
//一组节点的组名设置方法
DXObject.SetItemObject("体征") 

//设置多组JSON节点
DXObject.SetItemArry("爱好","睡觉","string")
DXObject.SetItemArry("兴趣","计算机","string")
//多组节点的组名设置方法,data 节点名  true 创建多组结构 false 还未结束
DXObject.SetItemArrys("data",true,false)      

DXObject.SetItemArry("爱好","美女","string")
DXObject.SetItemArry("兴趣","编程","string")
DXObject.SetItemArry("学历","本科","string")
//false 不创建多组结构,沿用未关闭多组节点 true 结束该多组节点
DXObject.SetItemArrys("data",false,true)       

//设置完毕后组合JSON串,该方法带目录结构格式,返回值strig
DXObject.List2JSON()
//转换JSON串为一行数据
DXObject.FarmatJSON(lf_str)

生成类的方法中还有一些特殊的不常用方法,具体如下:

//可取单独节点的数据
DXObject.JSONArry[i]

//传入字符串与新老字符,替换字符串中所有相关字符
DXObject.ReaplaceChar(lf_str,oldchar,newchr)

//传入字符串与新老字符串,替换字符串中所有相关字符串
DXObject.ReaplaceChar(lf_str,oldstr,newstr)

//可直接插入JSON串,建议在设置节点结尾以后插入,格式默认没有;
DXObject.Jsonadd(JSON)

上述代码执行后JSON如下:

{
    "sex":"男",
    "age":35,
    "体征":{
       "体重":"100KG",
       "身高":"182CM"
    },
    "data":[
    {
       "爱好":"睡觉",
       "兴趣":"计算机"
    },
    {
       "爱好":"美女",
       "兴趣":"编程",
       "学历":"本科"
    }
]
}

1.2 JSON串的读取

因JSON本身的复杂性,在传入JSON串后,会转换所有的记录到两个临时List<>对象实例中。一个存放名称Itemnmae[i],一个存放值Itemvalue[i],两个List<>对象实例按索引一一对应。

为了区分字符串与数值、NULL类型的数据,便于再次组合JSON串,所有数据除了数值、NULL,均在开头与结尾带有双引号。

具体读取对应节点值的方法:

//第一种方法
//对于一组节点类型 json串,节点名称,二级节点名称
DXObject.GetItemArrayValue(ls_str,ls_str_item,ls_str_item_next)

//对于多组节点类型 json串,节点名称,二级节点名称,节点排序编号(1开始)
DXObject.GetItemArraysValue(ls_str,ls_str_item,ls_str_item_next,ls_str_item_no)

//一级节点类型 json串,节点名称
DXObject.GetItemValue(ls_str,ls_str_item)

//第二种方法
//使用该方法传入JSON串
Json2Arrays(JSON)

//对于一组节点类型 节点名称,二级节点名称
DXObject.GetItemArrayVal(ls_str_item,ls_str_item_next)

//对于多组节点类型 节点名称,二级节点名称,节点排序编号(1开始)
DXObject.GetItemArraysVal(ls_str_item,ls_str_item_next,ls_str_item_no)

//一级节点类型 节点名称
DXObject.GetItemValue(ls_str_item)

隐藏功能方法,可用于自我定制实现对应编码,比如datawindow转JSON后存入List<>对象实例

//JSON转数组
Json2Arrays(JSON)
//名称数组
DXObject.Itemnmae[i]
//值数组
DXObject.Itemvalue[i]

2、其他新功能敬请期待

 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/index.php?id=311

分享给朋友:

相关文章

Web API的创建3年前 (2022-11-07)
C# 第二篇 基础语法3年前 (2022-11-14)
C# 第四篇 数组定义3年前 (2022-11-15)
C# 第五篇 字符串3年前 (2022-11-15)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。