Javascript 尝试为返回的JSON创建数组数组
我目前正在编写这个脚本,它是用javascript编写的,可以从netsuite ERP平台返回数据 现在我们有一个数组中返回的代码,虽然这很好,但它是产品信息数据集的结果 脚本正在查询3个产品,结果返回一个包含21个键的数组。 这应该返回3个数组,这样我们就可以在Netsuite外部轻松地处理内容 我一辈子都搞不清楚创建一个新数组来管理内容需要哪个循环Javascript 尝试为返回的JSON创建数组数组,javascript,arrays,json,loops,stringify,Javascript,Arrays,Json,Loops,Stringify,我目前正在编写这个脚本,它是用javascript编写的,可以从netsuite ERP平台返回数据 现在我们有一个数组中返回的代码,虽然这很好,但它是产品信息数据集的结果 脚本正在查询3个产品,结果返回一个包含21个键的数组。 这应该返回3个数组,这样我们就可以在Netsuite外部轻松地处理内容 我一辈子都搞不清楚创建一个新数组来管理内容需要哪个循环 function loadRecord(request, response) { var recType = request.getP
function loadRecord(request, response)
{
var recType = request.getParameter('recType');
var savedSearchId = request.getParameter('savedSearchId');
var internalid = request.getParameter('internalid');
//perform the required search.
var filter = [];
if(recType == 'customer' || recType == 'contact' )
{
filter[0] = new nlobjSearchFilter('internalid', null, 'is', internalid); // just get the 1 item by the internal id of the record
}
if( recType == 'item')
{
var internal_ids = new Array();
internal_ids[0] = 25880;
internal_ids[1] = 25980;
internal_ids[2] = 333 ;
filter[0] = new nlobjSearchFilter('internalid', null, 'anyOf', internal_ids); // just get the 1 item by the internal id of the record
}
if(recType == 'transaction')
{
filter[0] = new nlobjSearchFilter('type',null,'anyOf','SalesOrd');
filter[1] = new nlobjSearchFilter('internalid','customer','is', internalid );
}
var rsResults = nlapiSearchRecord(recType, savedSearchId, filter);
var rsObj = [];
// not sure how to make each row a new array of arrays so it is structured more elegantly...
for (x = 0; x < rsResults.length; x++)
{
var flds = rsResults[x].getAllColumns();
for (i = 0; i < flds.length; i++)
{
var rowObj = {};
rowObj.name = flds[i].getName();
rowObj.label = flds[i].getLabel();
rowObj.val = rsResults[x].getValue(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary());
rowObj.txtval = rsResults[x].getText(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary())
rsObj.push(rowObj);
}
}
response.write(JSON.stringify(rsObj));
}
函数加载记录(请求、响应)
{
var recType=request.getParameter('recType');
var savedSearchId=request.getParameter('savedSearchId');
var internalid=request.getParameter('internalid');
//执行所需的搜索。
var过滤器=[];
if(recType==“客户”| | recType==“联系人”)
{
筛选器[0]=新的nlobjSearchFilter('internalid',null,'is',internalid);//只需通过记录的内部id获取1项
}
if(recType=='item')
{
var internal_id=新数组();
内部_id[0]=25880;
内部_id[1]=25980;
内部_id[2]=333;
filter[0]=new nlobjSearchFilter('internalid',null,'anyOf',internal_id);//只需通过记录的内部id获取1项
}
if(recType=='transaction')
{
筛选器[0]=新的nlobjSearchFilter('type',null,'anyOf','SalesOrd');
过滤器[1]=新的nlobjSearchFilter('internalid','customer','is',internalid);
}
var rsResults=nlapiSearchRecord(recType,savedSearchId,filter);
var rsObj=[];
//不知道如何使每一行都成为一个新的数组数组,从而使其结构更加优雅。。。
对于(x=0;x
非常感谢您的帮助这就是您要找的吗
var rsObj = [];
var rowArr, fields, x, i;
for (x = 0; x < rsResults.length; x++)
{
flds = rsResults[x].getAllColumns();
for (i = 0; i < flds.length; i++)
{
rowArr = rsObj[x] = [];
rowArr.push(flds[i].getName());
rowArr.push(flds[i].getLabel());
rowArr.push(rsResults[x].getValue(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary()));
rowArr.push(rsResults[x].getText(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary()));
}
}
console.log(rsObj[0][0]); // row0.name
console.log(rsObj[2][1]); // row2.label
var rsObj=[];
变量rowArr,字段,x,i;
对于(x=0;x
可能是这样的:
for (var x = 0; x < rsResults.length; x++)
{
var flds = rsResults[x].getAllColumns();
for (var i = 0; i < flds.length; i++)
{
rsObj.push({
name: flds[i].getName(),
label: flds[i].getLabel(),
val: rsResults[x].getValue(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary()),
txtval: rsResults[x].getText(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary())
});
}
}
rsResults.forEach(function(result) {
result.getAllColumns().forEach(function(fields) {
rsObj.push({
name: fields.getName(),
label: fields.getLabel(),
val: result.getValue(fields.getName(), fields.getJoin(), fields.getSummary()),
txtval: result.getText(fields.getName(), fields.getJoin(), fields.getSummary())
});
});
});
这一定能解决你的问题。可能存在一些声明问题
var rsObj = [];
for (int x = 0; x < rsResults.length; x++)
{
var flds = rsResults[x].getAllColumns();
for (int i = 0; i < flds.length; i++)
{
var rowObj = [];
rowObj.push(flds[i].getName());
rowObj.push(flds[i].getLabel());
rowObj.push(rsResults[x].getValue(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary()));
rowObj.push(rsResults[x].getText(flds[i].getName(), flds[i].getJoin(), flds[i].getSummary()));
rsObj.push(rowObj);
}
}
var rsObj=[];
对于(int x=0;x