字符串拼接的双引号和单引号问题,转义字符

有这么一句话,想要字符串拼接后得到这么一句话。

{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid='00000000000000000028')","Rbracket":" )","Relation":" ",
"IsCanChange":true,"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":"","Description":""}]

里面的组织需要单引号引出,而不是双引号。

最初始是这样。

var ORG="00000000000000000028";
console.log('{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid='+ORG+')","Rbracket":" )","Relation":" ","IsCanChange":true,
"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":" ","Description":""}]');

这样输出结果是:

{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid=00000000000000000028)","Rbracket":" )","Relation":"  ",
"IsCanChange":true,"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":"","Description":""}]

没有单引号。

后来改成了这样。

var ORG="00000000000000000028";
console.log('{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid="'+ORG+'")","Rbracket":" )","Relation":"  ","IsCanChange":true,
"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":" ","Description":""}]');

输出结果是:

{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid="00000000000000000028")","Rbracket":" )","Relation":"  ",
"IsCanChange":true,"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":"","Description":""}]

还是不符合要求:

但是直接如果直接改成这样:

var ORG="00000000000000000028";
console.log('{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid=''+ORG+'')","Rbracket":" )","Relation":"  ","IsCanChange":true,
"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":" ","Description":""}]');

会把ORG当作一个字符串。

因此需要加入转义字符,”\“

改成这样就能实现效果。

var ORG="00000000000000000028";
console.log('{"Lbracket":"( ","Compare":"  in","Field":"LSBMZD_DWBH","DataType":"String","Value":
"(select Companyid from OrgDepRelationship where Organizationid=\''+ORG+'\')","Rbracket":" )","Relation":"  ","IsCanChange":true,
"ConvertUpperToCompare":false,"Expresstype":0,"FieldCaption":"","InnerFormula":"","Owner":"","DisplayValue":" ","Description":""}]');

 

posted @ 2017-08-11 09:17  美好的明天  阅读(2479)  评论(0编辑  收藏  举报