|
分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
本帖最后由 cnfull 于 2022-9-26 20:49 编辑
窗口程序集名 | 保 留 | 保 留 | 备 注 | V8JSON, , 公开 | | | |
|
initJson | 逻辑型 | | |
jsonobjtext | 文本型 | | | |
res = 执行脚本 ( #JSCODE )如果真 (res ≠ “undefined”)返回 (假)res = 执行脚本 (“initjsonobj(” + jsonobjtext + “)”)如果真 (res ≠ “undefined”)返回 (假)返回 (真)|
GetJsonKeysValue | 文本型 | | |
keys | 文本型 | | | | 返回 (执行脚本 (“GetJsonKeysValue('” + keys + “')”)) 返回 (执行脚本 (“GetJsonKeys('” + keys + “')”)) |
GetJsonKeysType | 文本型 | | |
keys | 文本型 | | | | 返回 (执行脚本 (“GetJsonKeysType('” + keys + “')”)) |
GetJsonKeysLength | 整数型 | | |
Keys | 文本型 | | | | 返回 (到整数 (执行脚本 (“GetJsonKeysLength('” + Keys + “')”)) )|
UpdateKeyData | 逻辑型 | | |
Keys | 文本型 | | | | data | 文本型 | | | |
res = 执行脚本 (“UpdateKeyData('” + Keys + “',” + data + “)”)如果 (res = “True”)返回 (真)返回 (假)|
ArrayPushData | 逻辑型 | | |
Keys | 文本型 | | | | data | 文本型 | | | |
res = 执行脚本 (“ArrayPushData('” + Keys + “',” + data + “)”)如果 (res = “True”)返回 (真)返回 (假)
[JavaScript] 纯文本查看 复制代码 // 获取对象所有键
function GetJsonKeys(keys) {
var TJson = g_jsonobj
if (keys) {
var keystrlist = keys.split('.')
for (var i = 0; i < keystrlist.length; i++) {
TJson = TJson[keystrlist]
}
}
var keylist = []
for (var p1 in TJson) {
if (TJson.hasOwnProperty(p1))
keylist.push(p1);
}
return keylist.toString()
}
//对象修改或新增元素
function UpdateKeyData(key, data) {
if (key) {
var keys = key.split('.')
switch (keys.length) {
case 1:
g_jsonobj[keys[0]] = data
ispush = true
break;
case 2:
g_jsonobj[keys[0]][keys[1]] = data
ispush = true
break;
case 3:
g_jsonobj[keys[0]][keys[1]][keys[2]] = data
ispush = true
break;
case 4:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]] = data
ispush = true
break;
case 5:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]] = data
ispush = true
break;
case 6:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]] = data
ispush = true
break;
case 7:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]] = data
ispush = true
break;
case 8:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]] = data
ispush = true
break;
case 9:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]] = data
ispush = true
break;
case 10:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]] = data
ispush = true
break;
case 11:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[9]][
keys[10]
] = data
ispush = true
break;
case 12:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[9]][
keys[10]
][keys[11]] = data
ispush = true
break;
case 13:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[9]][
keys[10]
][keys[11]][keys[12]] = data
ispush = true
break;
case 14:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[9]][
keys[10]
][keys[11]][keys[12]][keys[13]] = data
ispush = true
break;
case 15:
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[9]][
keys[10]
][keys[11]][keys[12]][keys[13]][keys[14]] = data
ispush = true
break;
default:
ispush = false
break;
}
} else {
g_jsonobj = data
ispush = true
}
return ispush
}
//判断是否为数组
function isArray(v) {
return (v instanceof Array)
}
//数组插入元素
function ArrayPushData(key, data) {
if (key) {
var keys = key.split('.')
switch (keys.length) {
case 1:
if (isArray(g_jsonobj[keys[0]])) {
g_jsonobj[keys[0]].push(data)
ispush = true
} else
ispush = false
break;
case 2:
if (isArray(g_jsonobj[keys[0]][keys[1]])) {
g_jsonobj[keys[0]][keys[1]].push(data)
ispush = true
} else
ispush = false
break;
case 3:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]].push(data)
ispush = true
} else
ispush = false
break;
case 4:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]].push(data)
ispush = true
} else
ispush = false
break;
case 5:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]].push(data)
ispush = true
} else
ispush = false
break;
case 6:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]].push(data)
ispush = true
} else
ispush = false
break;
case 7:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]].push(data)
ispush = true
} else
ispush = false
break;
case 8:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]].push(data)
ispush = true
} else
ispush = false
break;
case 9:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]].push(
data)
ispush = true
} else
ispush = false
break;
case 10:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]]
.push(data)
ispush = true
} else
ispush = false
break;
case 11:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
][keys[10]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]][
keys[10]
].push(data)
ispush = true
} else
ispush = false
break;
case 12:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
][keys[10]][keys[11]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]][
keys[10]
][keys[11]].push(data)
ispush = true
} else
ispush = false
break;
case 13:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
][keys[10]][keys[11]][keys[12]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]][
keys[10]
][keys[11]][keys[12]].push(data)
ispush = true
} else
ispush = false
break;
case 14:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
][keys[10]][keys[11]][keys[12]][keys[13]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]][
keys[10]
][keys[11]][keys[12]][keys[13]].push(data)
ispush = true
} else
ispush = false
break;
case 15:
if (isArray(g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[
8]][
keys[9]
][keys[10]][keys[11]][keys[12]][keys[13]][keys[14]])) {
g_jsonobj[keys[0]][keys[1]][keys[2]][keys[3]][keys[4]][keys[5]][keys[6]][keys[7]][keys[8]][keys[
9]][
keys[10]
][keys[11]][keys[12]][keys[13]][keys[14]].push(data)
ispush = true
} else
ispush = false
break;
default:
ispush = false
break;
}
} else {
if (isArray(g_jsonobj)) {
g_jsonobj.push(data)
ispush = true
} else
ispush = false
}
return ispush
}
// 获取键值
function GetJsonKeysValue(Keys) {
if (Keys) {
var KeyList = Keys.split('.')
var jsonValue = g_jsonobj
for (var i = 0; i < KeyList.length; i++) {
jsonValue = jsonValue[KeyList]
}
if ((typeof jsonValue) == "object")
return json2str(jsonValue)
else
return jsonValue
} else {
if ((typeof g_jsonobj) == "object")
return json2str(g_jsonobj)
else
return g_jsonobj
}
}
//初始化JSON对象
function initjsonobj(jsonobj) {
g_jsonobj = jsonobj
}
//获取对象类型
function GetJsonKeysType(Keys) {
if (Keys) {
var KeyList = Keys.split('.')
var jsonValue = g_jsonobj
for (var i = 0; i < KeyList.length; i++) {
jsonValue = jsonValue[KeyList]
}
if (isArray(jsonValue))
return "array"
else
return (typeof jsonValue)
} else {
if (isArray(g_jsonobj))
return "array"
else
return (typeof g_jsonobj)
}
}
//获取对象长度
function GetJsonKeysLength(Keys) {
if (Keys) {
var KeyList = Keys.split('.')
var jsonValue = g_jsonobj
for (var i = 0; i < KeyList.length; i++) {
jsonValue = jsonValue[KeyList]
}
return jsonValue.length
} else {
return g_jsonobj.length
}
}
/***json对象转字符串形式***/
function json2str(o) {
return JSON.stringify(o)
// var arr = [];
// var fmt = function(s) {
// if (typeof s == 'object' && s != null) return json2str(s);
// return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
// }
// for (var i in o) arr.push("'" + i + "':" + fmt(o));
// return '{' + arr.join(',') + '}';
}
//字符串转JSON对象
function s2j(e) {
g_jsonobj = (new Function("return " + e))();
}
感谢某大神提供的V8模块源码
新增 JSON 对象 修改、新增 数组添加
易语言使用v8引擎基于UseDotNet 解析JSON.7z
(1.74 MB, 下载次数: 64)
|
评分
-
查看全部评分
|