Salesforce中的对象在Google Apps Script/Javascript中被解释为字符串
Object from Salesforce is interpreted as a String in Google Apps Script/Javascript
我们将Salesforce的数据拉入谷歌文档,谷歌应用程序脚本从Salesforce获得HTTP请求。我们有一个来自salesforce的名为"products"的对象,但谷歌应用程序脚本将其解释为字符串。
function doGet(product)
var productVar = product;
Logger.log(productVar);
结果是这样的:
"(OpportunityProduct1:{Product10Id=01726388aaa, Quantity=4.00, ListPrice=3.0, Sales_Price__A=3.00})"
我们可以将其作为Object,或者以任何方式将其转换为Object/list/array吗。
如果您相信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"+"空格键"调出可用服务列表。
相关文章:
- 你能解释一下为什么这个javascript不正确吗
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- Appcelerator Titanium:在运行时下载并解释JavaScript代码
- 无法解释的JavaScript行为-错误
- 请为javascript解释MVC中的VC
- 解释javascript中的+var和-var一元运算符
- 需要解释Javascript regex请求参数解析
- 解释 JavaScript 中数字的行为
- 你能用javascript解释对象和数组运算吗
- 有人可以用javascript解释以下代码吗?它用于读取文本文件,但我不知道XML和AJAX的东西
- Javascript解释 - 语法/格式/风格对我来说是新的
- 有人能用Javascript解释这种奇怪的行为吗
- 有人能用Javascript解释一下这个语法吗;type=type||'fx'&”;
- 最大数字(javascript)解释
- 用JavaScript解释用户输入的日期
- 需要涉及函数的快速JavaScript解释
- 当年份为yy格式时,我如何用Javascript解释正确的日期
- 是JavaScript解释还是JIT编译
- 有人能用JavaScript解释一下这个函数吗?
- 是否有一种方法可以使用命令行工具来查看网页的JavaScript解释源