2016-08-14 11 views
0

jsonのメンバーにアクセスしようとしていますが、何か問題があります。JSONのネストされたメンバーにアクセス

var sid = []; 
var sum = []; 

obj.forEach(block => { 
    var sidOut = block.pt.sid; 
    var sumOut = block.pt.sum; 

    sid.push(sidOut); 
    sum.push(sumOut); 

}); 

console.log(sid); 
console.log(sum); 

var fs = require('fs'); 
var obj = [ 
    { 
    "_id": "52d7f816f96d7f6f31fbb680", 
    "regNum": "0361300035313000002", 
    "sd": "2013-01-01T00:00:00", 
    "pd": "2013-01-25T09:30:29Z", 
    "prd": "2012-12-18", 
    "p": 1395000000, 
    "pt": [ 
     { 
     "name": name here", 
     "price": 1395000000, 
     "OKDP": { 
      "code": "5520109", 
      "name": "name here" 
     }, 
     "sid": "25484812", 
     "sum": "1395000000", 
     "OKEI": { 
      "code": "796", 
      "name": "name two" 
     }, 
     "quantity": "1" 
     } 
    ], 
    "b": 0, 
    "c": 0, 
    "s": 0 
    } 
]; 

私はSID合計値にアクセスしようとしている以下の手順を実行して、:ここでのvar OBJに保存されたJSONオブジェクトの1の例であり、

解決策を試しましたが、これらを実行すると私に[未定義]エラーが表示されます。here

なぜこの2つの値にアクセスできませんか?

+2

'ブロックを取得する必要があります。 pt [0] .sid; ';あなたの1要素配列に気をつけてください – dandavis

+0

@dandavis whoops!それはそれだった、ありがとう。お気軽に回答を投稿してください – user3335607

答えて

0

あなたのPTがオブジェクトの配列で表示された場合は、[{}]そう、あなたがアクセスしたい要素を選択する必要がありますので、

var sidOut = block.pt[0].sid; 
var sumOut = block.pt[0].sum; 

はあなたの右の結果

関連する問題