公共类库: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、其他新功能敬请期待

