为了更好的处理长数值,避免其处理后变为科学计数法,特封装了三个 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);