我的应用程序正在访问返回一些JSON记录的WebAPI。我通过jQuery AJAX获取它们并将JSON分配给JavaScript变量。我可以循环浏览并更改现有项目而不会出现问题。但是,如何添加更多"记录"对这个对象?我试图了解结果变量的结构。
这是我的测试。这是最好的方式吗?
var trustAccounts = {"accounts":[
{"entityId":12345,
"type":"IOLTA",
"nameOnAccount":"Sam Smith Trust",
"accountNumber":"987654",
"bankCode":"003",
"bankName":"Bank of Stuff",
"accountDate":"12/15/2014",
"status":"A",
"exempt":"N",
"accountId":142922,
"action":"U"}]};
var newaccount = {};
newaccount.entityId = 23456;
newaccount.type = "IOLTA";
newaccount.nameOnAccount = "John Smith Trust";
newaccount.accountNumber = "789456";
newaccount.bankCode = "003";
newaccount.bankName = "Bank of Stuff";
newaccount.accountDate = "12/15/2014";
newaccount.status = "A";
newaccount.exempt = "N";
newaccount.accountId = 142923;
newaccount.action = "U";
trustAccounts.accounts.push(newaccount);
console.log(trustAccounts);
答案 0 :(得分:1)
因此,如果我们命名返回的变量object
,我们可以使用object.newItemName
创建新元素。如下:
object.newItemName = 'Hello World'
答案 1 :(得分:0)
您只需添加它们,就好像它们已经存在一样。 JSON解析的对象只是一个普通的JavaScript对象。
let obj = {};
obj.newProp = 5;
console.log(obj.newProp); // 5
obj['newProp'] = 4;
console.log(obj.newProp); // 4
您可以使用点符号或方括号([]
)以两种方式设置它们。点符号方式,点之后的值就是它所谓的。方括号可以接受字符串或变量,因此您可以使用它将属性设置为特定名称。
如果你需要嵌套东西,你必须创建每个级别。例如,如果您想设置obj.something.aValue
,则可以执行以下操作:
let obj = {};
obj.something = {};
obj.something.aValue = 5;
或者,你也可以用更少的镜头来做,这取决于你正在做什么:
let obj = {
something: {
aValue = 5;
}
};