在我正在开发的应用程序中,我将一些配置存储在对象文字的备注字段中。
{
JWT : { endpoint :"https://somelink1",
clientid :"consent-management",
grantType :"client_credentials" },
CMP : {endpoint :"https://someotherlink2",
contentType :"application/json"}
}
使用正则表达式和特定于应用程序的 JavaScript 语言,我仅处理对象部分并解析它
var auth = nms.extAccount.load(39010);
var regex = /{([^;]*)}/gm;
var authObj = JSON.parse(JSON.stringify(auth.comment.match(regex)));
logInfo(authObj);
通常我会使用点符号
authObj.JWT.endpoint)
来浏览对象,但它不起作用。
14/05/2024 13:25:47 js JST-310000 Error while compiling script 'WKF9/js' line 6: authObj.JWT is undefined.
只是想知道我是否遗漏了一些东西。
我记录类型并且是对象
14/05/2024 14:24:32 js object
我相信正则表达式将匹配第一个左大括号(在 JWT 之前)到第一个右大括号(在“client_credentials”之后)。
也许你可以删除注释中的“DO NOT CHANGE”部分,然后解析它:
let authObj = JSON.parse(auth.comment.replace('***DO NOT CHANGE***', ''));
或者如果这不适用于所有情况,则可能需要更正正则表达式以解析完整的 JSON 文本。