2016-05-02 7 views
1

は、私はこのようなネストされたオブジェクトを作成しようとしていますネストされたJSONオブジェクトを作成します。動的に親と子

[{ 
    "Countrys":{ 
       "CountryCode":"AF", 
       "CountryName":"AFGHANISTAN", 
       "CreatedBy":"[email protected]", 
       "CreatedOn":null, 
       "ModifiedBy":"Admin", 
       "ModifiedOn":"/Date(1394094559000)/" 
       }, 
    "StateCode":"BAM", 
    "CountryCode":"AF", 
    "StateName":"BAMIAN", 
    "CreatedBy":"[email protected]", 
    "CreatedOn":"/Date(1372617000000)/", 
    "ModifiedBy":null, 
    "ModifiedOn":null 
    }, 
    ........... 
] 

マイコード:

updateStateList = []; 
    //state countrys data variable 
    var stateCountrysCountryCode; 
    var stateCountrysCountryName; 
    var stateCountrysCreatedBy; 
    var stateCountrysCreatedOn; 
    var stateCountrysModifiedBy; 
    var stateCountrysModifiedOn; 

    //state open data variable 
    var StateCode; 
    var CountryCode; 
    var StateName; 
    var CreatedBy; 
    var CreatedOn; 
    var ModifiedBy; 
    var ModifiedOn; 

    $(".tableRow").each(function() { 

     stateCountrysCountryCode = $(this).find("#erSLCountrysCountryCode").val(); 
     stateCountrysCountryName = $(this).find("#erSLCountrysCountryName").val(); 
     stateCountrysCreatedBy = $(this).find("#erSLCountrysCreatedBy").val(); 
     stateCountrysCreatedOn = $(this).find("#erSLCountrysCreatedOn").val(); 
     stateCountrysModifiedBy = $(this).find("#erSLCountrysModifiedBy").val(); 
     stateCountrysModifiedOn = $(this).find("#erSLCountrysModifiedOn").val(); 

     StateCode = $(this).find("#erSLStateCode").val(); 
     CountryCode = $(this).find("#erSLCountryCode").val(); 
     StateName = $(this).find("#erSLStateName").val(); 
     CreatedBy = $(this).find("#erSLCreatedBy").val(); 
     CreatedOn = $(this).find("#erSLCreatedOn").val(); 
     ModifiedBy = $(this).find("#erSLModifiedBy").val(); 
     ModifiedOn = $(this).find("#erSLModifiedOn").val(); 

     CountrysObj = {}; 
     CountrysObj["CountryCode"] = stateCountrysCountryCode; 
     CountrysObj["CountryName"] = stateCountrysCountryName; 
     CountrysObj["CreatedBy"] = stateCountrysCreatedBy; 
     CountrysObj["CreatedOn"] = stateCountrysCreatedOn; 
     CountrysObj["ModifiedBy"] = stateCountrysModifiedBy; 
     CountrysObj["ModifiedOn"] = stateCountrysModifiedOn; 

     //state open data 
     statesObj = {}; 
     statesObj["StateCode"] = StateCode; 
     statesObj["CountryCode"] = CountryCode; 
     statesObj["StateName"] = StateName; 
     statesObj["CreatedBy"] = CreatedBy; 
     statesObj["CreatedOn"] = CreatedOn; 
     statesObj["ModifiedBy"] = ModifiedBy; 
     statesObj["ModifiedOn"] = ModifiedOn; 




     //CountrysObj.push(statesObj["StateCode"]); 

     updateStateList.push({ "Countrys": CountrysObj }); 
     updateStateList.push(statesObj); 

    }); 



    alert(JSON.stringify(updateStateList)); 

私はこのJSONのように取得しています:

[{"Countrys":{"CountryCode":"AX","CountryName":"ALAND ISLANDS","CreatedBy":"[email protected]","CreatedOn":"","ModifiedBy":"Admin","ModifiedOn":"/Date(1394094559000)/"}},{"StateCode":"NS","CountryCode":"AX","StateName":"NOT SPECIFIED","CreatedBy":"[email protected]","CreatedOn":"/Date(1372617000000)/","ModifiedBy":"","ModifiedOn":""}] 

私は余分な第2括弧を得る結果です。 JavaScriptで

+0

質問は何ですか?あなたは十分に明確ではありません –

答えて

0

、やって:

x = {} 

は、オブジェクトを作成します。それは配列に(プッシュ)追加することが の結果を作成する理由は何をしたい[{}]

のは、すべての状態データのオブジェクトを作成し、そのオブジェクトのプロパティとしてcountriesを持つことです。このような

何か:

//state open data 
statesObj = {}; 
statesObj["StateCode"] = StateCode; 
statesObj["CountryCode"] = CountryCode; 
statesObj["StateName"] = StateName; 
statesObj["CreatedBy"] = CreatedBy; 
statesObj["CreatedOn"] = CreatedOn; 
statesObj["ModifiedBy"] = ModifiedBy; 
statesObj["ModifiedOn"] = ModifiedOn; 
statesObj["Countries"] = CountrysObj; 
+0

ありがとう#Itai Bar-Haim。 – SoloThink

+0

うれしい私は@SoloThinkを助けることができました。 StackOverflowでは、有益な投稿をupvotingでマークしたり、有益な回答を受け入れられた回答としてマーキングしたりするのが通例です。 –