2017-01-06 21 views
0

JSONオブジェクトにアクセスしようとしていますが、オブジェクトにアクセスする際にエラーが発生しています。コードを読んで、間違いを私に教えてください。JSONオブジェクト未定義(Nodejs)

私は私の問題についてのより良い理解を与えるために2つの異なる例を書いて

ここでJSONデータです:私はちょうどしようと

JSON DATA

ケース1は、 company_baseオブジェクトにアクセスするには、私は未定義の値を得ています

if(!error && response.statusCode == 200){ 
    console.log("Insurance name is....."); 
    var parsedData = JSON.parse(body); 
    console.log(parsedData["company_base"]); 
    } 

結果:私は2枚の画像を添付しています

: 保険名が..... 未定義

CASE 2です。 1つはJSONテキストを含み、もう1つはJSONオブジェクトにアクセスしようとしている間に発生しているエラーを含みます。

//これは私が保険名が..... Cである

if(!error && response.statusCode == 200){ 
    console.log("Insurance name is....."); 
    var parsedData = JSON.parse(body); 
    console.log(parsedData["company_base"][""business_type"]); 
    } 

オブジェクトにアクセスするために使用しているコードです:\ Users \ユーザーEbbie \デスクトップ\その他\平均\ udemy \ Web開発者のブートキャンプ\ IntroToApis \ CSG \ app.js:37 console.log(parsedData ["company_base"] ["business_type"]); ^

TypeError: Cannot read property 'business_type' of undefined at Request._callback (C:\Users\Ebbie\Desktop\Misc\mean\udemy\the web developer bootcamp\IntroToApis\CSG\app.js:37:47) at Request.self.callback (C:\Users\Ebbie\Desktop\Misc\mean\udemy\the web developer bootcamp\IntroToApis\CSG\node_modules\request\request.js:186:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request. (C:\Users\Ebbie\Desktop\Misc\mean\udemy\the web developer bootcamp\IntroToApis\CSG\node_modules\request\request.js:1081:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage. (C:\Users\Ebbie\Desktop\Misc\mean\udemy\the web developer bootcamp\IntroToApis\CSG\node_modules\request\request.js:1001:12) at IncomingMessage.g (events.js:291:16) at emitNone (events.js:91:20)

答えて

0

オブジェクトの配列を返します。 parsedData ["company_base"]が配列のcompany_baseキーにアクセスしようとしています。一つの要素の配列であるundefinedparsedDataので、あなたが取得している。..

parsedData[0]["company_base"][""business_type"] 
+0

これは私のために働いた。ありがとうございました! –

0

Could you please go through the code and let me know the mistake I'm making.

parsedData[0]["company_base"] 

そして:

あなたはこのような何かをしたいと思います。 jsonデータの先頭に、[という通知があります。値を取得するのにparsedData["company_base"]を使用する代わりに、繰り返し実行します。 company_basebusiness_type以来

'use strict'; 

let _ = require('lodash'); 

if (!error && response.statusCode == 200) { 
    let insuranceCompanies = JSON.parse(body); 
    _.each(insuranceCompanies, (company) => { 
    let companyBase = company.company_base; 
    console.log('Insurance name is.....', companyBase.business_type); 
    }); 
} 

私はそのアクセス値にドット表記を使用しています、静的キーです。

関連する問題