公共类库:LIFEPCL 《个人自研》功能迭代中
基本信息
公共类库名称:LIFEPCL
内核版本:.NET Framework 4.6.1
编程语言:C#
版本迭代
V1.0.0.1 版本,包含功能JSON串的生成与读取;
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、其他新功能敬请期待