繁体   English   中英

JavaScript对象字符串/引用问题

[英]Javascript object string/quotes issue

我有这段代码:

var selectdata = {
     "tablename": "dbo.vw_bla",
     "where": "ID_Prod like @idprod",
     "whereparameters": [{
         "name": "idprod",
         "value": ' +  $(prodvariable) + ',
         "type": "varchar"
     }],
     "orderby": "ID_Prod ASC"
 };

prodvariable是a中已存储数字的变量。 例如6

这应该作为6传递。

我尝试了引号,转义,+等的几种组合,但是我找不到正确的方法。

如果您想将prodvariable作为数字传递,请尝试如下所示

var prodvariable = 6
var selectdata = {
     "tablename": "dbo.vw_bla",
     "where": "ID_Prod like @idprod",
     "whereparameters": [{
         "name": "idprod",
         "value": prodvariable,
         "type": "varchar"
     }],
     "orderby": "ID_Prod ASC"
 };

如果您想将变量作为字符串传递,请尝试如下所示

var prodvariable = 6
var selectdata = {
     "tablename": "dbo.vw_bla",
     "where": "ID_Prod like @idprod",
     "whereparameters": [{
         "name": "idprod",
         "value": `${prodvariable}`, 
         "type": "varchar"
     }],
     "orderby": "ID_Prod ASC"
 };

您可以执行以下方法之一,以将prodvariable传递给json对象。

“值”:prodvariable //如果prodvariable为数字,则将作为数字传递

“值”: ${prodvariable}

要么

“ value”:'“'+ prodvariable +'”',

prodvariable不需要任何引号。 直接在值中使用该变量:

 var prodvariable = '6'; var selectdata = {"tablename":"dbo.vw_bla", "where":"ID_Prod like @idprod", "whereparameters": [ {"name": "idprod", "value": prodvariable , "type":"varchar"}], "orderby":"ID_Prod ASC"}; console.log(selectdata); 

如果我理解正确,您是否想使用prodvariable变量的值,但用双引号将其括起来? 您可以使用ES2015字符串模板文字来实现:

{ "value":  `"${prodvariable}"` }

然后,在您的情况下, value将为"6"

您也可以通过简单的字符串连接来达到相同的结果:

{ "value":  '"' + prodvariable + '"' }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM