1

我尝试根据我在网上看到的示例动态构建 json 结构对象,但没有成功。这是我尝试构建的 json:

{
    "campaigns": [
        {
             "campaign_id":,
             "profile_id":,
             "state":,
             "goal": 

        },
        {
             "campaign_id":,
             "profile_id":,
             "state":,
             "goal":
        }       
    ]
} 

这就是代码:每次有数据来构建活动(在 json 中)元素时调用这个函数

var campaignsJson ={};
campaignsJson.campaigns =[];


var i = 0;
  function buildJson(stateCampaignId,
                     profile_id,
                     stateSelectedValue,
                     dailyImpressionGoalValue,
                     pacingValue,
                     segmentGroupTargetsUpdatedataValue,
                     frequencytypeProfileValue,
                     frequencysetProfileValue
                     )
  {

    campaignsJson.campaigns[i].campaign_id = stateCampaignId;
    campaignsJson.campaigns[i].profile_id = profile_id;
    campaignsJson.campaigns[i].state = stateSelectedValue;
    campaignsJson.campaigns[i].goal = dailyImpressionGoalValue;  
    i++;
    var campaignsJsonstringify = JSON.stringify(campaignsJson);
    alert(campaignsJsonstringify);
  }

它给了我“无法设置未定义的属性campaign_id”这是什么意思?为什么?

4

1 回答 1

4

就在之前

campaignsJson.campaigns[i].campaign_id = stateCampaignId;

添加这个:

campaignsJson.campaigns[i] = {};

这样就有一个对象,您可以在其上设置属性。

现在,请不要说“JSON 结构”。您构建的是一个普通的标准 JavaScript 对象,而JSON只是基于字符串的交换格式。

于 2013-07-28T07:53:14.463 回答