2016-11-22 5 views
0

Ich verwende Google Analytics-API, um eine JSON-Nachricht vom Server abzurufen. Die Nachricht, die ich erhalte, lautet:Parse JSON Array und Objekt in JavaScript?

{ 
    "reports": [ 
    { 
     "columnHeader": { 
     "dimensions": [ 
      "ga:landingPagePath" 
     ], 
     "metricHeader": { 
      "metricHeaderEntries": [ 
      { 
       "name": "ga:pageviews", 
       "type": "INTEGER" 
      }, 
      { 
       "name": "ga:sessions", 
       "type": "INTEGER" 
      } 
      ] 
     } 
     }, 
     "data": { 
     "rows": [ 
      { 
      "dimensions": [ 
       "/-chandigarh/axis-bank-sarsini-branch_chandigarh_chg_850458.html" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "1", 
        "1" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/267249-1.compliance-alex.xyz" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "29", 
        "10" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/267249-1.compliance-don.xyz" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "27", 
        "9" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/267249-1.compliance-fred.xyz" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "20", 
        "7" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/abohar/axis-bank-the-fazilka-central-cooperative-bank-ltd-branch_abohar_frp_135.html" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "1", 
        "1" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/about-us/career.htm" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "8", 
        "5" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/about-us/company-profile.htm" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "34", 
        "14" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/about-us/infrastructure.htm" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "3", 
        "1" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/adilabad/gk-hospital-multispeciality-care_adilabad_adi_399806.html" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "2", 
        "1" 
       ] 
       } 
      ] 
      }, 
      { 
      "dimensions": [ 
       "/ahmedabad/akhani-jagdish-kumar_ahmedabad_ahd_1124498.html" 
      ], 
      "metrics": [ 
       { 
       "values": [ 
        "7", 
        "3" 
       ] 
       } 
      ] 
      } 
     ], 
     "totals": [ 
      { 
      "values": [ 
       "3420452", 
       "1333496" 
      ] 
      } 
     ], 
     "rowCount": 347614, 
     "minimums": [ 
      { 
      "values": [ 
       "0", 
       "1" 
      ] 
      } 
     ], 
     "maximums": [ 
      { 
      "values": [ 
       "56660", 
       "49274" 
      ] 
      } 
     ], 
     "isDataGolden": true 
     }, 
     "nextPageToken": "1000" 
    } 
    ] 
} 

Ich möchte es analysieren und Daten in Variable gespeichert. Wie werde ich es analysieren? Ich habe viele Optionen ausprobiert, aber keine Daten von JSON bekommen. Ergebnis ist wie folgt: undefined. Ich möchte die Array-Daten von Dimensionen und Werte wie holen:

var a = "/-chandigarh/axis-bank-sarsini-branch_chandigarh_chg_850458.html"; 

var b = 1; 

var c = 1; 
+2

haben Sie [JSON.parse()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) versucht, json zu analysieren? –

+0

"Ich habe viele Möglichkeiten ausprobiert" - wo ist dein [mcve]? – Quentin

+0

Ja @KevinKloet Ich habe das schon probiert. –

Antwort

-2

Verwenden JSON.parse

var json = '{"param1":1,"param2":2}', 
 
     obj = JSON.parse(json); 
 
    alert(obj.param1);

meisten Browser z.B. Google Unterstützung JSON.parse darüber hinaus für diejenigen, die nicht unterstützen Sie json2 verwenden können ->https://github.com/douglascrockford/JSON-js/blob/master/json2.js

+0

das ist nicht hilfreich für mich. Ich bekomme keine Daten von dieser Syntax. danke –

2

Gesetzt ist Ihre JSON-Eingang in der json Variable gespeichert sind, könnten Sie einfach tun:

var json = '{"reports":[{"columnHeader":{"dimensions":["ga:landingPagePath"],"metricHeader":{"metricHeaderEntries":[{"name":"ga:pageviews","type":"INTEGER"},{"name":"ga:sessions","type":"INTEGER"}]}},"data":{"rows":[{"dimensions":["/-chandigarh/axis-bank-sarsini-branch_chandigarh_chg_850458.html"],"metrics":[{"values":["1","1"]}]},{"dimensions":["/267249-1.compliance-alex.xyz"],"metrics":[{"values":["29","10"]}]},{"dimensions":["/267249-1.compliance-don.xyz"],"metrics":[{"values":["27","9"]}]},{"dimensions":["/267249-1.compliance-fred.xyz"],"metrics":[{"values":["20","7"]}]},{"dimensions":["/abohar/axis-bank-the-fazilka-central-cooperative-bank-ltd-branch_abohar_frp_135.html"],"metrics":[{"values":["1","1"]}]},{"dimensions":["/about-us/career.htm"],"metrics":[{"values":["8","5"]}]},{"dimensions":["/about-us/company-profile.htm"],"metrics":[{"values":["34","14"]}]},{"dimensions":["/about-us/infrastructure.htm"],"metrics":[{"values":["3","1"]}]},{"dimensions":["/adilabad/gk-hospital-multispeciality-care_adilabad_adi_399806.html"],"metrics":[{"values":["2","1"]}]},{"dimensions":["/ahmedabad/akhani-jagdish-kumar_ahmedabad_ahd_1124498.html"],"metrics":[{"values":["7","3"]}]}],"totals":[{"values":["3420452","1333496"]}],"rowCount":347614,"minimums":[{"values":["0","1"]}],"maximums":[{"values":["56660","49274"]}],"isDataGolden":true},"nextPageToken":"1000"}]}' 
 

 
// Parse the JSON into the data variable 
 
var data = JSON.parse(json); 
 

 
data.reports.forEach(report => { 
 
    report.data.rows.forEach(row => { 
 
    // row.dimensions will contain your 'dimensions' array 
 
    console.log(row.dimensions); 
 
    
 
    row.metrics.forEach(metric => { 
 
     // metric.values will contain your 'values' array 
 
     console.log(metric.values); 
 
    }); 
 
    }); 
 
});

Sie müssen diese Eigenschaften nur in Ihren eigenen Variablen speichern.

+0

@ArunaRajput: von _exact solution_, meinst du die Eigenschaften in Variablen speichern? – SinDeus

+0

Dann zögern Sie nicht, mit uns zu teilen, wie Sie Ihr Problem gelöst haben, @ArunaRajput – SinDeus