用双引号replace.toString()单引号

也许一个奇怪的请求,但我使用CouchDB的意见,这需要一个string被双引号包围。

这工作:

?键= [ “testing”, “234”]

这不会工作:

?键= [ 'testing', '234']

所以在我的NodeJS应用程序中,我试图build立正确的密钥传递给CouchDB

var key1 = "test"; var key2 = "234"; { key: [key1, key2] } 

这总是出来

 { key: [ 'test', '234' ] } 

有没有什么有效的方法来获得我想要的结果? (双引号)

CouchDB本身不需要双引号; 它需要JSON编码的参数。

对你来说这是个好消息! 只要你喜欢在JavaScript中build立你的密钥:

 var key = [ 'test', '234' ] 

然后在发送到CouchDB之前进行JSON编码:

 key = JSON.stringify(key) // Result: the string '["test","234"]' 

目前还不清楚你是否想用键或代表对象的string传递一个对象。 如果你传递一个string,为什么不使用使用双引号的JSON.stringify?

 var key1 = "test"; var key2 = "234"; JSON.stringify({key: [key1, keys]}) 

这将产生:{“key”:[“test”,“234”]}

我没有testing过这个,但是我想你可以使用String.fromCharCode(34)作为双引号,而不是直接input它们。 所以

var key1 = String.fromCharCode(34)+ test + String.fromCharCode(34);

甚至

var doubleQuote = String.fromCharCode(34); var key1 = doubleQuote + test + doubleQuote;

你可以在你的node.js应用程序中试试这个

 var key1 = '"test"'; var key2 = '"234"'; 

这将导致:

 { key: [ '"test"', '"234"' ] } 

我没有使用CouchDB,也许这将解决您的问题。