我确信这是一个简单的问题,但我找不到任何可以帮助我的信息,而且我已经迷失了一段时间。我正在尝试创建一个JSON对象,这是我到目前为止所拥有的:
var myJsonObject = new Object();
myJsonObject.context.applicationName = appName;
myJsonObject.context.ID = ID;
myJsonObject.context.domain = domain;
myJsonObject.context.production = "no";
myJsonObject.other.name = userName;
myJsonObject.other.date = userDate;
var myString = JSON.stringify(myJsonObject);
这就是我想要的JSON字符串。
{
"context": {
"applicationName":"example",
"ID":"exampleID",
"domain":"someDomain",
"production","no"
},
"other": {
"name":"userName1",
"date":"userDate1"
}
}
但是,我一直收到myJsonObject.context is undefined
错误。我的意思是,我明白为什么会发生这种情况,我从来没有真正初始化它,但我不知道该怎么做才能纠正这个问题。任何帮助将不胜感激。
我猜测myJsonObject.context必须初始化为另一个对象,然后我只是将它作为一个对象数组添加到原始对象中....这是正确的吗?
答案 0 :(得分:2)
是的,你需要先将它设置为一个对象,或者你可以在第一行设置它们:
var myJsonObject = {context : {} , other: {} };
答案 1 :(得分:2)
另请注意,您可以使用较短的语法定义对象,如下所示:
var myJsonObject = {
context: {
applicationName: appName,
ID: ID,
domain: domain,
production: "no"
},
other: {
name: userName,
date: userDate
}
};
答案 2 :(得分:1)
我猜测myJsonObject.context必须初始化为另一个对象
是
然后我将它添加到我的原始对象
你通常会同时这样做
作为对象数组
没有。那里没有类似阵列的东西。
var myJsonObject = {};
myJsonObject.context = {};
myJsonObject.context.applicationName = appName;
答案 3 :(得分:1)
首先定义myJsonObject.context = {};
属性。