簡體   English   中英

Salesforce中的對象在Google Apps腳本/ Javascript中被解釋為String

[英]Object from Salesforce is interpreted as a String in Google Apps Script/Javascript

我們將Salesforce中的數據提取到Google Doc,Google Apps腳本正在從Salesforce獲取HTTP請求。 我們有一個來自salesforce的“產品”對象,但Google Apps腳本將其解釋為字符串。

function doGet(product)

var productVar = product;

Logger.log(productVar);

結果是這樣的:

"(OpportunityProduct1:{Product10Id=01726388aaa, Quantity=4.00, ListPrice=3.0, Sales_Price__A=3.00})"

我們可以將它作為Object獲取,或以任何方式將其轉換為對象/列表/數組。

你可以簡單地使用var productObject = eval(productVar); 如果你相信它不包含惡意代碼。

首先使用JavaScript字符串方法編輯字符串。

function processString() {

  var originalStr = "(OpportunityProduct1:{Product10Id=01726388aaa, Quantity=4.00, ListPrice=3.00, Sales_Price__A=3.00})";
  var i=0, thisCharacter = "";
  //Remove spaces
  for (i=0;i<originalStr.length;i+=1) {
    thisCharacter = originalStr[i];
    //Logger.log(thisCharacter)
    if (thisCharacter === " ") {
      Logger.log(i);
      var front = originalStr.slice(0,i);
      var back = originalStr.slice(i+1);
      originalStr = front + back;
    };
  };

  Logger.log(originalStr)
  var strNewObject = "";

  var myRegEx = new RegExp("=","g");

  strNewObject = originalStr.replace(myRegEx, '":"');

  strNewObject = strNewObject.replace("{", '{"');
  strNewObject = strNewObject.replace("}", '"}');
  strNewObject = strNewObject.replace(/,/g, '","');

  strNewObject = strNewObject.replace("(", '{"'); //Need out curly brace for valid JSON
  strNewObject = strNewObject.replace(")", "}"); //Need out curly brace for valid JSON
  strNewObject = strNewObject.replace(":", '":'); //

  Logger.log('strNewObject: ' + strNewObject);

  var newObject = JSON.parse(strNewObject);

  Logger.log(newObject);
  Logger.log(typeof newObject);


  Logger.log(newObject.OpportunityProduct1.Quantity)
};

您可以使用JSON服務將字符串轉換回對象:

var myNewObject = JSON.parse(productVar);

使用“應用程序腳本”編輯器中的快捷鍵“Ctrl”+“空格鍵”顯示可用服務列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM