存储复杂的JS对象

时间:2018-01-12 18:59:23

标签: javascript node.js object

我遇到过这种情况,我需要在Node中存储复杂对象,以便以后使用和实例化第三方API的身份验证对象。

对象具有这种粗略结构:

{
  _descriptors: { stream: { streamingDetectIntent: [Object] } },
  auth: 
   Auth {
     authClientPromise: Promise { [Object] },
     authClient: 
      JWT {
        transporter: DefaultTransporter {},
        _certificateCache: null,
        _certificateExpiry: null,
        _clientId: undefined,
        _clientSecret: undefined,
        _redirectUri: undefined,
        _opts: {},
        credentials: [Object],
        email: '<EMAIL>',
        keyFile: undefined,
        key: '<RSA KEY>',
        scopes: [Object],
        subject: undefined,
        gToken: [Function: GoogleToken],
        projectId: '<ID>',
        gtoken: [Object] },
     googleAuthClient: 
      GoogleAuth {
        _isGCE: undefined,
        jsonContent: [Object],
        cachedCredential: [Object],
        JWTClient: [Function: JWT],
        ComputeClient: [Object],
        IAMAuth: [Function: IAMAuth],
        Compute: [Object],
        JWT: [Function: JWT],
        JWTAccess: [Function: JWTAccess],
        OAuth2: [Object],
        UserRefreshClient: [Function: UserRefreshClient],
        _cachedProjectId: '<ID>' },
     config: 
      { clientConfig: {},
        port: 443,
        scopes: [Object] },
     credentials: null,
     environment: {},
     projectId: '<ID>' },
  _pathTemplates: { sessionPathTemplate: projects/{project=*}/agent/sessions/{session=*} },
  _innerApiCalls: 
   { detectIntent: [Function: apiCallInner],
     streamingDetectIntent: [Function: apiCallInner] } }

正如您所看到的,该对象包含其他必要的对象,但更重要的是,它包含需要保留的函数 promises

我的第一个想法是简单地加密整个字符串化对象,并在需要时解密并解析回JSON,但这并不保留对象中的Promises或函数。

是否存在暂时存储此类对象供以后使用的方法,或者是否可以在不同应用程序中来回传输的方法?

0 个答案:

没有答案