javascript:字符串到对象和点符号

问题描述 投票:0回答:1

在我正在开发的应用程序中,我将一些配置存储在对象文字的备注字段中。 enter image description here

 {
    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);

enter image description here

通常我会使用点符号

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

javascript json object
1个回答
0
投票

我相信正则表达式将匹配第一个左大括号(在 JWT 之前)到第一个右大括号(在“client_credentials”之后)。

也许你可以删除注释中的“DO NOT CHANGE”部分,然后解析它:

let authObj = JSON.parse(auth.comment.replace('***DO NOT CHANGE***', ''));

或者如果这不适用于所有情况,则可能需要更正正则表达式以解析完整的 JSON 文本。

© www.soinside.com 2019 - 2024. All rights reserved.