如何在对象文字赋值中指定动态值
How can I specify dynamic value in object literal assignment?
这是我通过JSLint:运行代码后得到的
应为":",而看到的却是"+"Book":"'+bookname+'"'第3行第23列
意外的尾部空格。'"书本":"'+书本名+'"'
如果结果在"Book"列中包含"bookid"值,我想在JSON字符串中指定以查找结果(参见下面的第1-4行)。
我知道语法有错误。它运行得很好,直到我决定需要使用本地存储中的值。我不确定如何在这种查询中正确地调用正则变量。怎么了?
var bookname = localStorage.getItem('bookid');
var whereObject = {
"$and": [{
'"Book":"'+bookname + '"'
}
}, {
"$or": [{
"calf_id": {
"$regex": "^" + value,
"$options": "i"
}
}, {
"cow_id": {
"$regex": "^" + value,
"$options": "i"
}
}, {
"Sire": {
"$regex": "^" + value,
"$options": "i"
}
}, {
"Color": {
"$regex": "^" + value,
"$options": "i"
}
}]
}]
};
return JSON.stringify(whereObject);
value
是搜索栏中的值。
我试图根据给我的建议来改变它,但后来它只会产生更多的警告,类似于我已经收到的警告。
我基本上需要知道在查询中使用以前定义的变量的正确方法。我不知道正确的语法,也找不到任何东西,只有
'"Book":"'+bookname + '"'
为什么要使用'
?我不知道你为什么要那样做
在json中,应该在:
字符之前结束字符串。在:
之后键入Book
的值。
"KEY":"VALUE"
如果Book
的值是字符串:
"Book" : "hello this is string"
如果Book
的值是一个变量:
"Book": bookname
如果您希望Book
具有bookname
变量的值,但用引号括起来,则执行
"Book": "'" + bookname + "'"
如果你仔细查看并计算json中的{和}的数量,你会发现这个数字不是偶数!这意味着你有一个匹配错误。以下是没有语法错误的有效json:
{
"$and": [
{
"Book":"bookname"
},
{
"$or": [
{"calf_id": {"$regex":"^" + value,"$options": "i"}},
{"cow_id": {"$regex":"^" + value,"$options": "i"}},
{"Sire": {"$regex":"^" + value,"$options": "i"}},
{"Color": {"$regex":"^" + value,"$options": "i"}}
]
}
]
}
相关文章:
- Javascript变量赋值|
- 无法为打字稿字典赋值
- HTML范围:动态设置值属性
- 内部函数不会为外部函数在 jQuery 中动态创建的元素赋值
- 如何在另一个java脚本函数中访问java脚本中动态html表中单元格的动态赋值
- 在 Google Apps 脚本中动态定义变量名称和赋值
- 在 $.post - JQuery 中创建动态变量赋值
- 为html中动态生成的行赋值
- 如何在对象文字赋值中指定动态值
- 如何使用react native动态赋值给TextInput
- 给对象赋值.变量动态形成
- Angularjs如何给动态文本域赋值
- 在AJAX js调用中动态赋值
- 动态赋值给dom
- 将php函数赋值给动态创建的对象
- 将c#中动态函数调用的结果赋值给变量
- 为未定义的变量动态赋值
- ES6解构,动态赋值
- 在jQuery中使用动态id为隐藏字段赋值
- 使用动态命名赋值动态创建的Jquery选项卡