2017-03-02 24 views
0

処理システムで受け入れられない形式でデータを取得していますが、データを変換しようとしています。以下は、取得したデータとその下に必要なJSONです。私はデータ内でObjectを見つけて、それが複数の要素を持っていて、そのオブジェクトをArray[]に変換しているかどうかを調べるなど、さまざまなことを試みましたが、できません。JavaScript内のオブジェクト内のオブジェクトを配列に変換する

入力がある場合は、私はそれを感謝します。

if(typeof ob1=== "object" && Object.keys(ob1.length > 1) && typeof Object.keys(ob1) === "object") 
{ 
    console.log(ob1); // I get all the objects and not the parent object i need to change. 
} 

現在のデータ:

ob1 : {id: 1, details: Object, profession: "Business"} 

JSON:

{ 
    "id": "1", 
    "details": { 
    "0": { 
     "name": "Peter", 
     "address": "Arizona", 
     "phone": 9900998899 
    }, 
    "1": { 
     "name": "Jam", 
     "address": "Kentucky", 
     "phone": 56034033343 
    } 
    }, 
    "profession": "Business" 
} 

必要なデータ:

{id: 1, details: Array[2], profession: "Business"} 

必要なJSON:

{ 
    "id": "1", 
    "details": [ 
    { 
     "name": "Peter", 
     "address": "Arizona", 
     "phone": 9900998899 
    }, 
    { 
     "name": "Jam", 
     "address": "Kentucky", 
     "phone": 56034033343 
    } 
    ], 
    "profession": "Business" 
} 
+2

JSON文字列/テキスト形式です。したがって、「JSONオブジェクト」や「JSON配列」などはありません。 –

答えて

2

あなたが詳細を通過する必要がありオブジェクトや配列に変換:

var x = { 
    details: { 

    0: {a: 1}, 
    1: {a: 2} 
    } 
} 

var detailsArr = []; 

for(key in x.details) { 
    detailsArr.push(x.details[key]); 
} 

x.details = detailsArr; 

//x.details = [{a: 1}, {a: 2}] 
関連する問題