2012-04-21 15 views
0

文字列からJSONオブジェクトを作成しています...私は、JSONオブジェクトはコメントを持つべきではないことを認識したが、この例では、私はちょうど所望の構造を説明したいはループと、私は次のような構造を持つJSONオブジェクトを作成したい

selObj = { 

    category: selectedCategory, // 1 category only 

    catOptions:{ 
     optionValue:discountValue, // we can 1 or have many of paired keys in this sub object 
     optionValue:discountValue, 
     optionValue:discountValue 
    }, 

    tariff:{ 
     tariffValue:discountValue, // we can 1 or have many of paired keys in this sub object 
     tariffValue:discountValue 
    }, 

    tarOptions:{ 
     tarOption:discountValue // we can 1 or have many of paired keys in this sub object 

    } 

}; 

今、私は常に空白の問題でエラーを取得し、これによこれで今そう...

$(document).ready(function() { 
     var selObj = {}; 
     populateMyEmptyObject(selObj) 

}); 

populateMyEmptyObject(emptyObject){ 

     emptyObject.category = "Category" 

     // in my original function I have loops that produce strings with the following structure {"value1":"10","value2":"20","value3":"30","value4":"40"}, for this example I’ll call them loopReturn1, loopReturn2, loopReturn3, loopReturn4 

     // loops have happened and vars are produced... I've removed my loops as they're working just fine, I've omitted that code for simplicity 

     emptyObject.catOptions = loopReturn1; 
     emptyObject.tariff = loopReturn2; 
     emptyObject.tarOptions = loopReturn3; 
} 

のように私のスクリプトの先頭で宣言し、空のオブジェクトを移入する関数を持っています。私はJSON.stringifyを使うべきだと言われてきましたが、まだ問題があります。ここでループを忘れると、生成された文字列をどのように取得してオブジェクトに追加すればよいですか?誰かが文字列を受け取り、selObjというオリジナルのオブジェクトに変換/解析するベストプラクティスを教えてください。

var selObj = { 

    "category": "selectedCategory", 

    "catOptions":{ 
       }, 

    "tariff":{ 
       }, 

    "tarOptions":{ 
    } 

}; 

何かアドバイス:また、私はそれがより良いそうのように、自分の所望の構造を表しているので、私は私の元の空のオブジェクトを変更する必要があります

return emptyObject;のような)selObjがを更新するために、私の機能で私emptyObjectを返却する必要があります私はそれがかなり独創的な開発者であり、私の知識の中でいくつかの悪い習慣と穴を持っていることは明らかです。

+0

'Category'コピー/貼り付けエラー周りの人「スマート引用符」であるか、それは同様にあなたの元でそのように見えるのでしょうか? – Jon

+0

ちょうどコピーと貼り付けのエラー...私は、良い点BTW –

+0

"空白の問題とのエラー"を編集します...それは多くの意味を作っていません。 **あなたの構築されたJSONの外観を**正確に**投稿する必要があります。そうしないと、あなたが何を話しているのか誰も知らないでしょう。 – Pointy

答えて

0

Example

$(document).ready(function() { 
    var o = getCategoryData(), 
     sJSON = JSON.stringify(o); 

    console.log(o, sJSON); 
}); 

var getCategoryData = function(o) { 

    // example functions start 
    var getCategory = function() { 
     return "Category"; 
    }, 
    getCatOptions = function() { 
     return {value1: 10, value2: 20, value3: 30, value4: 40}; 
    }, 
    getTariff = function() { 
     return {value1: 10, value2: 20, value3: 30, value4: 40}; 
    }, 
    getTarOptions = function() { 
     return {value1: 10, value2: 20, value3: 30, value4: 40}; 
    }; 
    // example functions end 

    if (!o) o = {}; 
    o.category = getCategory(); 
    o.catOptions = getCatOptions(); 
    o.tariff = getTariff(); 
    o.tarOptions = getTarOptions(); 
    return o; 
}​ 
関連する問題