aardio - godking.json 【库】测试

为了更好的处理长数值,避免其处理后变为科学计数法,特封装了三个 json 库,其区别如下:

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| godkong.json1 : 主要针对数值进行了处理。 1、内部创建了一个数值处理类,所有数值均以数值对象类型保存,以避免将数值识别为科学计数法文本。 2、读取数值成员时,需用 tostring() 转换为数值文本。 3、数值成员可以读取,可以赋值(数值对象),但不可对其进行计算。 4、最终结果也使用 tostring() 转为json文本,数值仍按数值型导出文本。 |
| godkong.json2 : 主要针对数值进行了处理。 1、依赖 godking.bigNum 大数库,所有数值均以大数对象类型保存,以避免将数值识别为科学计数法文本。 2、读取数值成员时,需用 tostring() 转换为数值文本。 3、数值成员可以读取,可以赋值(大数对象),可以对数值成员直接进行计算。 4、最终结果也使用 tostring() 转为json文本,数值仍按数值型导出文本。 |
| godkong.json3 : 主要针对数值进行了处理。 1、所有数值均转换为文本型保存,以避免将数值识别为科学计数法文本。 2、读取数值成员时,直接读出数值文本,不需用 tostring() 转换。 3、数值成员可以读取,可以赋值(文本型),但不可对其进行计算。 4、最终结果使用 tostring() 转为json文本,数值变为文本型导出文本,两侧加引号。 |

调用代码如下:

Go 复制代码
import console; 
import godking.json1;
var res = '{"code":1,"msg":"获取成功","data":[{"beginTime":"13:00:00","EndTime":"14:00:00","AvailableAppNum":3,"ArrangeDoctorPlanTimeSectionID":518432462435781},{"beginTime":"14:00:00","EndTime":"15:00:00","AvailableAppNum":4,"ArrangeDoctorPlanTimeSectionID":518432462435782},{"beginTime":"15:00:00","EndTime":"16:00:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435783},{"beginTime":"16:00:00","EndTime":"16:30:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435784}],"ext":""}';
var json = ..godking.json1(res,true);
// 改变大数值的方法,使用numclass类对象。
json.data[1].ArrangeDoctorPlanTimeSectionID = godking.json1.numclass("16465464654560000000000");
for(i=1;#json.data;1){
    console.dump(tostring(json.data[i].ArrangeDoctorPlanTimeSectionID));
}
console.dump(tostring(json.code))
console.dump(tostring(json))
console.dump("==========================================================================")

import godking.json2;
var res = '{"code":1,"msg":"获取成功","data":[{"beginTime":"13:00:00","EndTime":"14:00:00","AvailableAppNum":3,"ArrangeDoctorPlanTimeSectionID":518432462435781},{"beginTime":"14:00:00","EndTime":"15:00:00","AvailableAppNum":4,"ArrangeDoctorPlanTimeSectionID":518432462435782},{"beginTime":"15:00:00","EndTime":"16:00:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435783},{"beginTime":"16:00:00","EndTime":"16:30:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435784}],"ext":""}';
var json = ..godking.json2(res,true);
// 改变大数值的方法,使用godking.bigNum类对象。
import godking.bigNum
json.data[1].ArrangeDoctorPlanTimeSectionID = godking.bigNum("16465464654560000000000");
for(i=1;#json.data;1){
    console.dump(tostring(json.data[i].ArrangeDoctorPlanTimeSectionID));
}
console.dump(tostring(json.code))
console.dump(tostring(json))
console.dump("==========================================================================")

import godking.json3;
var res = '{"code":1,"msg":"获取成功","data":[{"beginTime":"13:00:00","EndTime":"14:00:00","AvailableAppNum":3,"ArrangeDoctorPlanTimeSectionID":518432462435781},{"beginTime":"14:00:00","EndTime":"15:00:00","AvailableAppNum":4,"ArrangeDoctorPlanTimeSectionID":518432462435782},{"beginTime":"15:00:00","EndTime":"16:00:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435783},{"beginTime":"16:00:00","EndTime":"16:30:00","AvailableAppNum":0,"ArrangeDoctorPlanTimeSectionID":518432462435784}],"ext":""}';
var json = ..godking.json3(res,true);
// 改变大数值的方法,直接使用字符串。
json.data[1].ArrangeDoctorPlanTimeSectionID = "16465464654560000000000";
for(i=1;#json.data;1){
    console.dump(json.data[i].ArrangeDoctorPlanTimeSectionID)
}
console.dump(json.code)
console.dump(tostring(json))

console.pause(true);
相关推荐
卢光庆15 天前
aardio - 汉字笔顺处理 - json转sqlite转png
aardio
白叔King2 个月前
aardio 5分钟多线程开发简单入门
aardio
IssacNew5 个月前
【原创软件】第7期:文件夹生成器V1.0-按照列表批量生成文件夹,简单小巧
aardio·列表·批量生成·记住文件夹·同名文件夹·文件夹
卢光庆5 个月前
aardio —— 今日减bug
aardio
卢光庆1 年前
aardio - 调用C编写的dll时的不同参数类型处理方法
aardio
belldeep1 年前
aardio:用 WebView 模仿 mdict 界面
aardio·webview2