您的位置:首页 > 其它

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

2017-08-11 09:17 405 查看
有这么一句话,想要字符串拼接后得到这么一句话。

{"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":""}]');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: