我正在尝试将输入字段中的值附加到existsng JSON对象中,并且我不断收到错误。
这是我的代码:
$('#addObjectBtn').click(function() {
//Inject Property into current object
var newObjName = $('#newObjectName').val();
var newObjType = $('#newObjectType').val();
objStr.View[newObjType + "_100"] = {"BackgroundImage":'""' + newObjName + '""'};
$('#newObjectPrompt').dialog('close');
})
编辑:添加JSON对象。我试图添加例如另一个按钮。在我的例子中哪个是“Button_100”
{
"View": {
"Name": "Untitled3",
"ImportWidth": 320,
"ImportHeight": 480,
"Image_1": {
"BackgroundImage": "Image.png",
"Position": [0, 0],
"Width": 320,
"Height": 480
},
"Button_1": {
"BackgroundImage": "ButtonTop.png",
"Position": [61, 83],
"Width": 217,
"Height": 58
},
"Button_2": {
"BackgroundImage": "ButtonBottom.png",
"Position": [81, 114],
"Width": 205,
"Height": 73
},
"TextField_1": {
"BackgroundImage": "TextFieldLogin.png",
"Position": [102, 336],
"Width": 189,
"Height": 31
},
"Label_1": {
"Position": [137, 100],
"Width": 54,
"Height": 20,
"Text": "HiRob",
"FontSize": 18,
"Color": [0, 0, 0, 1]
},
"Label_2": {
"Position": [43, 342],
"Width": 72,
"Height": 20,
"Text": "LogOut:",
"FontSize": 18,
"Color": [0, 0, 0, 1]
},
"Label_3": {
"Position": [115, 234],
"Width": 126,
"Height": 20,
"Text": "AnotherButton",
"FontSize": 18,
"Color": [0, 0, 0, 1]
}
}
}
答案 0 :(得分:5)
newObjType
已经是一个字符串,您不需要所有这些引号。试试这样:
objStr.View[newObjName + "_100"] = {BackgroundImage: newObjType};
答案 1 :(得分:3)
尝试
objStr.View[newObjName + "_100"] = JQuery.phraseJSON('{"BackgroundImage":"' + newObjType +'"}');
使用phraseJSON有点圆,但它肯定会完成工作,它会将JSON字符串转换为JS对象。
编辑: newObjType已经是一个字符串
或者,没有JQuery JSON.parse(string)可以使用。
答案 2 :(得分:1)
<强>更新强>:
如果手机上没有调试工具,我建议WEINRE。它为Desktop中的相同控制台和其他东西提供了在移动设备上运行的应用程序
另外,看看你的评论,似乎错误就在其他地方。您可以选择尝试这种分配方式
var newObjName = $('#newObjectName').val();
var newObjType = $('#newObjectType').val();
var tempObj = {"BackgroundImage": newObjName };
objStr.View[newObjType + "_100"] = tempObj;
旧答案:
我认为错误是SyntaxError: Unexpected token :
我认为这是由{"BackgroundImage":'""' + newObjName + '""'};
造成的
你在代码中设置属性的方式也是错误的
作为更正,我认为您需要进行2次更改
更改您的代码:
{"BackgroundImage":'""' + newObjName + '""'}
要
{ BackgroundImage : newObjName }
很酷,不是吗??